c# - 通过 SmtpClient 发送电子邮件抛出异常

标签 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: 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# - 通过 SmtpClient 发送电子邮件抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096113/

相关文章:

c# - 如何从 DataGridViewComboBoxColumn 获取选定值?

.net - .NET 中 XSLT 2.0 可用性的当前状态是什么

Laravel:从邮件 Blade 模板设置邮件主题

git - 给定子目录的不同 .gitconfig?

c# - => 运算符在属性中意味着什么?

c# - Unity 添加组件

c# - 重新分发 .NET Framework 和 SQL Server Express

.net - 我可以定位 .net 的(表单)消息框或通用对话框吗?

.net - 检测 .NET 对象的属性值的变化?

python - 在 Mailgun 消息 Django/Python 中附加生成的 PDF