【发布时间】:2015-04-24 05:14:00
【问题描述】:
我正在尝试通过 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");
** 注意 ** 我已经检查了帐户名和密码,它们都是正确的。
【问题讨论】:
-
进行谷歌搜索,那里有很多工作示例。stackoverflow.com/questions/27870353/… 似乎您缺少一些东西,也将该代码包装在 try{}catch{} 中,并且您没有构建第一眼就能正确传达信息
-
对不起!我忘了提,但是是的,我已经检查过了
-
相信我,我已经搜索过了...我用 3 个不同的帐户尝试过这个,没有 2 步版本。在其中任何一个上,使用 Google Apps 时都不能有“不太安全的应用程序”设置,我使用了 587 和 465 端口,尝试了不同的设置,例如“UseDefaultCredentials=true”或“EnableSsl=false”.. . 这些都不起作用。我也在 try-catch 块中使用这个块。
-
是您的电子邮件帐户..?通过登录手动检查它,看看你是否可以进入.. 如果不能,那么该帐户可能因过多的错误尝试而被锁定。你看链接了吗..也许你应该尝试一些工作示例链接在我最初的评论中..
-
是的,它们都是我的。我可以手动登录所有。没有堵塞。
标签: c# ssl smtp gmail smtpclient