【问题标题】:I Can't Send Mail When I Publish My Web Site - ASP.NET Web Forms发布网站时无法发送邮件 - ASP.NET Web 窗体
【发布时间】:2018-03-12 09:19:09
【问题描述】:

我发布了我使用 ASP.NET Web 窗体完成的网站,但在发送邮件时遇到了问题。我的网站不发送邮件。在本地运行没有问题。

我的 Fonksiyon.cs:

public static bool MailGonder(string gonderenaciklama, string kimemail, string kimeadi, string mailkonu, string mailicerik, string kimdenmail = "", bool IletisimFormuMu = false)
{
    MailAddress From = new MailAddress(IletisimFormuMu ? kimdenmail : "My e-mail address is here", gonderenaciklama); // Gönderen kısmında görünen e-posta adresi.
    MailAddress To = new MailAddress(kimemail, kimeadi); // Mailin gönderileceği adres.
    MailMessage EMail = new MailMessage(From, To);

    EMail.Subject = mailkonu;
    EMail.Body = mailicerik;
    EMail.IsBodyHtml = true;
    EMail.BodyEncoding = Encoding.Unicode;
    SmtpClient MailClient = new SmtpClient();
    MailClient.Port = 587;
    MailClient.Host = "smtp.gmail.com";

    MailClient.EnableSsl = true; // Gmail üzerinden gönderme yapılacaksa veya sunucu kimlik doğrulaması gerektiriyorsa buraya true değerini vereceğiz.
    MailClient.UseDefaultCredentials = true;
    MailClient.Credentials = new System.Net.NetworkCredential("My e-mail address is here", "My password is here"); // Maili göndereceğimiz hesap bilgileri buraya giriyoruz. Mailimiz bu hesap üzerinden gönderilecek.

    MailClient.DeliveryMethod = SmtpDeliveryMethod.Network;

    try
    {
        MailClient.Send(EMail);
        return true;
    }
    catch
    {
        return false;
    }
}

我的 register.aspx 按钮点击:

string guid = Guid.NewGuid().ToString();
Fonksiyon.MailGonder("Ay Tasarım E-Posta Doğrulaması", TxtEPosta.Text, TxtAd.Text + " " + TxtSoyad.Text, "E-Posta Doğrulaması", "Lütfen aşağıdaki aktivasyon kodunu sitemizdeki ilgili alana yazarak üyeliğinizi aktif ediniz!<br />Aktivasyon Kodu: " + guid + "");

【问题讨论】:

标签: c# asp.net email webforms


【解决方案1】:

与您的代码无关,这是您的 gmail 帐户的安全功能。 这些是您可以检查的原因

  • Google 的安全系统已阻止您服务器的 IP

Google 安全系统实际上很酷,如果有人拿到了您的 Gmail 密码,那么他将无能为力,除非他正在使用您的 IP 地址。为什么?因为当 Google 发现一个不寻常的 IP 地址试图连接到您的帐户时,它会拒绝其访问,并会向您发送一封电子邮件,并最终在您的手机上发送一条短信。

当您从 MailPoet 的设置发送测试电子邮件时,您会收到以下消息:“SMTP 错误:无法验证。| SMTP 错误:无法连接到 SMTP 主机。”那么你可能会进入这个案例场景

您将收到通知您异常访问的电子邮件如下:

允许 Google 帐户中的新 IP

在您设置网站以使用 Gmail 帐户发送时,您希望允许新 IP 使用您的 Gmail 凭据。为了允许新的无法识别的应用程序,只需转到https://security.google.com/settings/security/activity,找到与您有关的行并允许访问。

希望这有助于解决您的问题....

【讨论】:

  • 现在你的答案中已经有了很好的信息,但问题可能是他使用了UseDefaultCredentials
  • @mason 他的代码在本地主机中工作,这就是我认为的原因
猜你喜欢
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 2012-07-15
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
相关资源
最近更新 更多