【发布时间】:2016-07-26 21:58:16
【问题描述】:
我正在尝试使用 C# 控制台发送电子邮件,但每次都失败并显示错误:
Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 173.194.65.109:587
这是我的 C# 代码:
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.Port = 587;
// setup Smtp authentication
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("myEmail@gmail.com", "myPassword");
client.UseDefaultCredentials = false;
client.Credentials = credentials;
MailMessage msg = new MailMessage();
msg.From = new MailAddress("myEmail@gmail.com");
msg.To.Add(new MailAddress("destinationEmail@gmail.com"));
msg.Subject = "This is a test Email subject";
msg.IsBodyHtml = true;
msg.Body = string.Format("<html><head></head><body><b>Test HTML Email</b></body>");
client.Send(msg);
我也试过用:
client.UseDefaultCredentials = true;
但还是没有成功。
这是一个通用的 C# 代码,写在整个网络上,在每个论坛中......但它对我没有帮助。
【问题讨论】:
-
你必须指定一个不同的端口
-
您的代码对我来说很好用。您不需要按照建议更改端口。今天早上 GMail 可能出现的服务器问题?再试一次。外发邮件 (SMTP) 服务器:smtp.gmail.com - 使用身份验证:是 - SSL 端口:465 或 587
-
如果您使用的是家庭互联网,一些提供商对开放的端口非常严格。
标签: c# email gmail sendmail send