【发布时间】:2011-08-01 03:46:29
【问题描述】:
我尝试使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件,如下所示:
Dim objSMTPClient As New System.Net.Mail.SmtpClient("smtp.gmail.com", 465) 'also tried 587
objSMTPClient.EnableSsl = True
objSMTPClient.UseDefaultCredentials = False
objSMTPClient.Credentials = New System.Net.NetworkCredential("email@domain.com", "password")
objSMTPClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
objSMTPClient.Send(objMailMessage)
但是,当我尝试使用端口 465 时,我得到一个异常“操作已超时”。 当我尝试使用端口 587 时,出现异常“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证。了解更多信息”
知道为什么吗?
提前致谢。
更新:问题似乎在今晚解决了。我不知道发生了什么变化。也许是谷歌方面的东西。无论如何,代码都在工作;我很想知道出了什么问题,所以我可以确保它不会再次发生,也可以帮助社区,但我不能让它进入非工作状态,所以我可以尝试并测试它。
ALSO:我不同意版主将我的问题标记为与另一个线程重复的问题——该线程只是一般性地询问如何通过 Gmail 发送邮件。我阅读了那个帖子,并且按照它说的去做,但它对我不起作用,所以我发布了错误消息并询问出了什么问题。
我想向读者指出this other thread 这实际上更接近于我的副本,并且我之前找不到,并且有许多可能的建议可能会有所帮助,只是问题现在已经消失了,所以我无法对其进行测试。谢谢大家!
【问题讨论】:
-
可能由于可疑活动而暂时阻止了通过 SMTP 的访问。见stackoverflow.com/questions/1607828/…