【问题标题】:I want to send email through my ASP.Net website我想通过我的 ASP.Net 网站发送电子邮件
【发布时间】:2018-12-14 07:40:44
【问题描述】:

电子邮件代码在本地主机上工作,但是当我在服务器上上传网站时,它显示错误 SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证。了解更多信息,请访问

//Formatted
protected void btnSend_Click(object sender, EventArgs e)
{

            var fromAddress = "djdanny1255@gmail.com";
              string email = "djdanny1255@gmail.com";
            var toAddress = email;
            const string fromPassword = "********";
            string subject = "Email=" + txtEmail.Text + "     Phone=" + txtMobile.Text;
            string body = txtMessage.InnerText;



            try
            {
                using (MailMessage mm = new MailMessage(fromAddress, email))
                {

                    mm.Subject = subject;
                    mm.Body = body;

                    mm.IsBodyHtml = false;
                    SmtpClient smtp = new SmtpClient();
                    smtp.Host = "smtp.gmail.com";
                    smtp.EnableSsl = true;
                    NetworkCredential NetworkCred = new NetworkCredential(fromAddress, fromPassword);
                    smtp.UseDefaultCredentials = true;
                    smtp.Credentials = NetworkCred;
                    smtp.Port = 587;
                    smtp.Send(mm);

                }
            }
            catch (Exception ex)
            {

                Response.Write("Error" + ex.Message);
            }

【问题讨论】:

  • 还可以查看 this 和 this 的类似问题。 Google 对电子邮件地址实施了新的安全措施。
  • 您需要在托管站点的服务器上检查 SMTP 许可权限。通常不是每个服务器都允许 SMTP 请求,有时它会阻止 IP。在大多数此类情况下,我们需要允许并允许主机服务器上的端口号。希望对你有帮助。

标签: asp.net asp.net-mvc email asp.net-mvc-4


【解决方案1】:

在第一个案例中,我建议您在此代码处更改代码:

using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress(fromAddress);
                mail.To.Add(toAddress);
                mail.Subject = subject;
                mail.Body = body;
                mail.IsBodyHtml = true;
                using (SmtpClient smtp = new SmtpClient())
                {
                    smtp.Host = "smtp.gmail.com";
                    smtp.Port = 587;
                    smtp.EnableSsl = true;
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials = new NetworkCredential(fromAddress,fromPassword);
                    smtp.Send(mail);
                }
            }

在您登录电子邮件后第二次,CLICK HERE。

这会看到这个页面

希望对你有帮助^^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多