通过 SmtpClient 发送电子邮件抛出异常
Sending E-Mail via SmtpClient throws exception
我正在尝试通过 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: Message could not be sent. --->
System.Net.Sockets.SocketException: Could not resolve host
'smtp.google.com' at System.Net.Dns.Error_11001 (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 无法解析主机。
我该如何解决这个问题?谢谢!
我相信你的问题出在你的 SmtpClient
上。 Google 的客户信息如下:
smtp.gmail.com
所以你的代码应该如下:
var client = new SmtpClient("smtp.gmail.com", 587);
据我目前所知,我建议查看 Google关于如何使用他们的中继/邮件服务的文档.
我正在尝试通过 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: Message could not be sent. ---> System.Net.Sockets.SocketException: Could not resolve host 'smtp.google.com' at System.Net.Dns.Error_11001 (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 无法解析主机。
我该如何解决这个问题?谢谢!
我相信你的问题出在你的 SmtpClient
上。 Google 的客户信息如下:
smtp.gmail.com
所以你的代码应该如下:
var client = new SmtpClient("smtp.gmail.com", 587);
据我目前所知,我建议查看 Google关于如何使用他们的中继/邮件服务的文档.