通过SmtpClient发送电子邮件会引发异常

时间:2015-01-22 18:27:31

标签: c# .net email mono smtp

我正在尝试通过C#和Gmail发送电子邮件:

    // Create the mail client
    var client = new SmtpClient("smtp.google.com", 587)
    {
      DeliveryMethod = SmtpDeliveryMethod.Network,
      UseDefaultCredentials = false,
      EnableSsl = true,
      Credentials = new NetworkCredential("MYADDRESS@gmail.com", "MYPASSWORD")
    };

    // Create the message
    var msg = new MailMessage("MYADDRESS@gmail.com", "MYADDRESS@gmail.com")
    {
      Subject = "My Subject"
    };

    // Send the mail
    client.Send(msg);

此代码是根据网页(主要是本网站)的示例构建的。可悲的是,它不起作用。相反,它会引发异常:

  

{System.Net.Mail.SmtpException:无法发送消息。 --->   System.Net.Sockets.SocketException:无法解析主机   System.Net.Dns.Error_11001上的'smtp.google.com'(System.String   hostName)[0x00000] in   /private/tmp/source-mono-mac-3.12.0-branch-32/bockbuild-mono-3.12.0 -......

我的电脑可以到达“smtp.google.com”就好了。即使在我的C#程序中ping它也能正常工作。只有SmtpClient无法解析主机。

我可以尝试解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:3)

我相信您的问题出在SmtpClient。 Google的客户信息如下:

  • smtp.gmail.com

所以你的代码应该如下:

var client = new SmtpClient("smtp.gmail.com", 587);

根据我目前的情况,我建议检查 Google有关如何使用中继/邮件服务的文档。