我试图通过C#发送电子邮件。虽然我相信我已经做好了一切,但它仍然会引发这种异常:
" SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.5.1需要身份验证。在"
了解详情起初我想,这可能是一个区域/ IP /地区问题......但是当我登录gmail时,没有任何警告。可以肯定的是,我已经将文件上传到网站进行检查,但仍然发生了错误。
我尝试将端口更改为465.它也没有用。
我首先尝试过使用Google Apps帐户管理的帐户。所以我认为可能是它,但它也不是......
我现在真的没有想法。
你们有什么想法吗?
以下是示例代码:
SmtpClient sm = new SmtpClient("smtp.gmail.com",587);
sm.Credentials = new NetworkCredential("blabla@gmail.com","**");
sm.UseDefaultCredentials = false;
sm.EnableSsl = true;
sm.DeliveryMethod = SmtpDeliveryMethod.Network;
sm.Send("blabla@gmail.com","blabla2@tr3reklam.com","Test","Test");
**注意** 我已经检查了帐户名和密码,他们都是对的。
答案 0 :(得分:1)
必须使用Google's settings page为NetworkCredential使用的Gmail帐户启用“访问安全性较低的应用”。
答案 1 :(得分:0)
毕竟是由两步验证引起的!
奇怪,但没有打开"允许用户打开"选项设置为true,我无法发送任何邮件。
帐户的两步验证仍然关闭,但可能允许用户自己选择在后台进行一些安全设置。
我无法找到关于此的任何文档,但我现在可以发送...
答案 2 :(得分:0)
输入代码sm.UseDefaultCredentials = false;在sm.Credentials = ...之前