我正在尝试使用smtp.gmail.com在我的C#应用中发送电子邮件。 我的代码工作正常,直到上周,突然我收到一条错误消息。 我在我的Gmail帐户中启用了安全性较低的应用程序,启用了IMAP,没有任何变化。
第一次验证工作正常,我得到" Port open"。
以下是代码:
using (TcpClient tcpClient = new TcpClient())
{
try
{
tcpClient.Connect("smtp.gmail.com", 587);
MessageBox.Show("Port open");
}
catch (Exception)
{
MessageBox.Show("Port closed");
}
}
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
UseDefaultCredentials = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new System.Net.NetworkCredential("myaddress@gmail.com", "mypassword")
};
using (var message = new MailMessage("myaddress@gmail.com", "toadress@gmail.com")
{
Subject = "Test",
Body = "Hi"
})
{
smtp.Send(message);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
我收到错误:
"服务不可用,关闭传输通道。
服务器响应是:无法连接到SMTP服务器2a00:1450:400c:c01 :: 6c(2a00:1450:400c:c01 :: 6c :587),连接错误10061"}
感谢您的帮助
答案 0 :(得分:0)
我认为您需要检查您的操作系统防火墙权限。看起来你可以' t听端口587。
你能发送你的netstat -a输出吗?