【问题标题】:Sending e-mail in ASP .Net在 ASP .Net 中发送电子邮件
【发布时间】:2014-10-02 04:10:36
【问题描述】:

如何使用outlook地址在ASP .Net上发送电子邮件??

我试过这段代码但没有运气:

Dim mailMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()

mailMessage.From = New System.Net.Mail.MailAddress("fromAddress")
mailMessage.To.Add(New System.Net.Mail.MailAddress("toAddress"))

mailMessage.Priority = Net.Mail.MailPriority.High
mailMessage.Subject = "Subject"
mailMessage.Body = "test"

Dim smtpClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient("xxx.outlook.com", portNumber)

smtpClient.Send(mailMessage) //--> got error here

但是当我执行代码时,它得到了这个错误信息:

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Client was not authenticated

我尝试添加一行代码:

smtpClient.Credentials = 新 System.Net.NetworkCredential(用户名、密码)

但还是发不了邮件。

有人可以帮忙吗?

【问题讨论】:

    标签: asp.net email smtp


    【解决方案1】:
    • 在设置新凭据之前尝试smtpClient.UseDefaultCredentials = false;
    • 尝试根据您的环境将smtpClient.EnableSsl 设置为真/假

    【讨论】:

    • 我尝试了另一个邮件服务器并尝试实现您的代码,但我收到了相同的错误消息..
    【解决方案2】:

    我猜您正在使用 Exchange 2007 或更高版本作为后端?

    无论如何,您的邮件服务器不允许您匿名发送邮件。您要么需要在代码中提供用户名/密码,要么允许从您的网络服务器进行未经身份验证的中继。

    与您的 IT 人员讨论他们喜欢什么。

    【讨论】:

      【解决方案3】:

      我是用 c# 做的。这可能对你有帮助。请检查。

         MailMessage msg1 = new MailMessage();
                              msg1.From = strEFrom;
                              msg1.To = strETo;
                              msg1.Cc = strECC;
                              msg1.Subject = "Hi";
                              msg1.Priority = MailPriority.High;
                              msg1.BodyFormat = MailFormat.Html;
                              msg1.Body = strBody;
                              SmtpMail.SmtpServer = ConfigurationSettings.AppSettings["MailServer"].ToString();
                              SmtpMail.Send(msg1);
      

      在 web.config 文件中

      <appSettings>
                <add key="MailServer" value=""/>
      </appSettings>
      

      【讨论】:

      • 因为我在我的应用程序中做了同样的事情并且它有效,我建议他/她检查一下
      • 编辑您的答案并添加凭证内容,我将恢复我的反对意见
      【解决方案4】:

      尝试这些设置检查true/false.EnableSSL 属性和smtp post number,您的mail server 在其上侦听外发邮件。

      当您没有在 Outlook 中为 gmail Outlook 配置启用 SSL 设置时,它会给出相同的错误,但原因是找到了 SSL 设置..

      试试这个可能会解决你的问题..

      msg.IsBodyHtml = true;
                  msg.Body = mailContent;
      
                  SmtpClient mailClient = new SmtpClient("smtp.mail.yahoo.com", 25);
                  NetworkCredential NetCrd = new NetworkCredential(frmyahoo, frmpwd);
                  mailClient.UseDefaultCredentials = false;
                  mailClient.Credentials = NetCrd;
                  mailClient.EnableSsl = false;
                  mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                  mailClient.Send(msg);
      

      如果它不能解决您的问题,请检查您的邮件服务器/客户端是否存在问题。

      【讨论】:

      • 和我17分钟前说的一样~~
      • 我已经检查了你的答案,但 SSL 并不总是在默认端口上工作。
      【解决方案5】:
            public static bool SendMail(string mailAccount, string password, string to, string subject, string message)
            {
              try
              {
               NetworkCredential loginInfo = new NetworkCredential(mailAccount, password);
               MailMessage msg = new MailMessage();
               msg.From = new MailAddress(from);
               msg.To.Add(new MailAddress(to));
               msg.Subject = subject;
               msg.Body = message;
               msg.IsBodyHtml = false;
               SmtpClient client = new SmtpClient("smtp.gmail.com");
               client.EnableSsl = true;
               client.UseDefaultCredentials = false;
               client.Credentials = loginInfo;
               client.Send(msg);
      
               return true;
              }
             catch (Exception)
             {
               return false;
             }
      
         }
      

      我使用此代码从我的 gmail 帐户发送邮件。

      【讨论】:

        【解决方案6】:

        遇到同样的错误,移动了客户端。UseDefaultCredentials = false;在设置 client.Credentials 之前一切正常。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-11-11
          • 2011-02-14
          • 2013-02-03
          • 1970-01-01
          • 1970-01-01
          • 2011-02-06
          • 1970-01-01
          相关资源
          最近更新 更多