使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]
Posted
技术标签:
【中文标题】使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]【英文标题】:Sending e-mail with Gmail SMTP and System.Net.Mail [duplicate] 【发布时间】:2011-08-01 03:46:29 【问题描述】:可能重复:Sending email in .NET through Gmail
我尝试使用 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 的访问。见***.com/questions/1607828/… 【参考方案1】:很可能,您的 gmail 帐户中没有启用 pop 功能。如果您想使用 gmail smtp 功能,则应启用此选项。
【讨论】:
谢谢,但 POP 已启用。可能是什么问题? 我应该补充一点,这不是一个普通的 Gmail 帐户,而是一个 Google Apps 帐户。当我使用我的常规 Gmail 帐户尝试我的代码时,它有效;只有 Google Apps 帐户没有。【参考方案2】:很可能,您的凭据不正确。请注意,您必须使用有效的活动 gmail 帐户,因此格式为:
objSMTPClient.Credentials = New System.Net.NetworkCredential("<your_user_name>@gmail.com", "<your_gmail_password>");
【讨论】:
凭据正确;我刚用他们登录。 我应该说,这不是一个普通的 Gmail 帐户,而是一个 Google Apps 帐户。当我使用我的常规 Gmail 帐户尝试我的代码时,它有效;只有 Google Apps 帐户没有。 @Fred,在这种情况下,这应该不是问题 - 请参阅 mail.google.com/support/bin/answer.py?answer=78799。您为什么不尝试在某些邮件客户端(例如 Outlook)中使用相同的设置配置帐户。以上是关于使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 smtp 和 Gmail 的 Phpmailer 无法正常工作 - 连接超时