我尝试使用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需要身份验证。了解更多信息”
知道为什么吗?
提前致谢。
更新:问题似乎已在今晚解决了。我不知道改变了什么。也许谷歌方面的东西。在任何情况下,代码都在工作;我想知道出了什么问题,所以我可以确保它不会再次发生,也可以帮助社区,但是我无法让它进入不工作的状态,所以我可以尝试并测试它。 / p>
ALSO :我不同意主持人将我的问题标记为另一个帖子的副本 - 该线程只是简单地询问如何通过Gmail发送邮件。我读了那个帖子,并且正在做它所说的一切,但它对我不起作用,所以我发布了错误消息并询问出了什么问题。
我想将读者指向this other thread 这实际上更接近于我的复制,我之前找不到,并且有许多可能有所帮助的建议,除了现在问题已经消失所以我无法测试它。谢谢大家!
答案 0 :(得分:0)
最有可能的是,您的凭据不正确。请注意,您必须使用有效的活动Gmail帐户,因此它的格式为:
objSMTPClient.Credentials = New System.Net.NetworkCredential("<your_user_name>@gmail.com", "<your_gmail_password>");
答案 1 :(得分:0)
最有可能的是,您尚未在Gmail帐户中启用弹出功能。如果您想使用gmail smtp功能,则应启用此选项。