我想从我的应用程序中发送一封电子邮件,我已经编写了以下代码来发送邮件
MailMessage msg = new MailMessage();
msg.From = new MailAddress("mymailid");
msg.To.Add("receipientid");
msg.Subject = "test";
msg.Body = "Test Content";
msg.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential("mymailid", "mypassword", "smtp.gmail.com");
client.Host = "smtp.gmail.com";
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.Send(msg);
我在本地主机上运行它,所以我发送它是什么错误。
当我点击send按钮时,它会给出一个错误,比如
服务器需要安全连接,或者客户端未经过身份验证。服务器响应为: 5.5.1需要身份验证。
Web.config文件中的代码
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="smtpServer" value="smtp.gmail.com" />
<add key="EnableSsl" value = "true"/>
<add key="smtpPort" value="587" />
<add key="smtpUser" value="sender@gmail.com" />
<add key="smtpPass" value="mypassword" />
<add key="adminEmail" value="sender@gmail.com" />
</appSettings>
<system.net>
<mailSettings>
<smtp from="sender@gmail.com">
<network host="smtp.gmail.com" password="mypassword" port="587" userName="sender@gmail.com" enableSsl="true"/>
</smtp>
</mailSettings>
</system.net>
如何解决此错误并发送邮件??
发布于 2013-08-29 14:16:31
首先检查gmail的安全相关问题。您可能已经在gmail中启用了双重身份验证。如果你收到任何安全警报,也要检查你的gmail收件箱。在这种情况下,请检查@mjb的其他答案,如下所示
下面是我总是首先检查这类问题的非常一般的事情
client.UseDefaultCredentials = true;
将其设置为false。
注意@Joe King's answer -您必须在设置client.Credentials之前设置client.UseDefaultCredentials
发布于 2015-01-12 15:12:07
确保在调用SmtpClient.UseDefaultCredentials = false
之后设置SmtpClient.Credentials
。
顺序很重要,因为设置SmtpClient.UseDefaultCredentials = false
会将SmtpClient.Credentials
重置为null。
发布于 2016-06-25 10:32:53
我已经搜索并尝试了几个小时不同的东西..总而言之,我必须考虑以下几点:
client.EnableSsl = true;
上设置credentials
smtp.gmail.com
代替smtp.google.com
client.UseDefaultCredentials = false;
如果这些步骤没有帮助,请检查此answer。
也许,你也可以在这个System.Net.Mail FAQ上找到一些有用的东西。
https://stackoverflow.com/questions/18503333
复制相似问题