【问题标题】:Sending e-mail with Gmail SMTP and System.Net.Mail [duplicate]使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]
【发布时间】: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 这实际上更接近于我的副本,并且我之前找不到,并且有许多可能的建议可能会有所帮助,只是问题现在已经消失了,所以我无法对其进行测试。谢谢大家!

【问题讨论】:

标签: .net asp.net vb.net email


【解决方案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)中使用相同的设置配置帐户。
猜你喜欢
  • 2011-08-18
  • 2011-06-08
  • 2016-02-29
  • 1970-01-01
  • 2017-06-21
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多