在 windows 8.1 和 VS2013 中使用 C# 发送电子邮件

Sending an email with C# in windows 8.1 and VS2013

我一直在尝试在我的 windows 8.1 电脑上使用 C# 发送电子邮件,但此错误不断出现

An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll

Additional information: Error in processing. The server response was: Request action aborted on MFE proxy, SMTP server is not available.

请注意,我在我以前的电脑上使用了完全相同的代码,没有任何问题。另外,我已经关闭了我的防火墙和防病毒软件,但没有成功。

下面是我使用的代码

MailMessage mail = new MailMessage {From = new MailAddress("mailfrom@gmail.com", "Oluwafemi")};
mail.To.Add(new MailAddress("mailto@gmail.com"));
mail.Body = "body";
mail.Subject = "test";
var smtpClient = new SmtpClient();
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Credentials = new System.Net.NetworkCredential("mailfrom@gmail.com", "password");
smtpClient.Send(mail);    
Console.WriteLine("sent");

请帮忙?

由于域配置,我 运行 遇到了这个问题...您是否尝试使用 gmail 的 smtp 发送 to/from gmail 地址?

如果您无法解决它,您是否考虑过使用像 Mandrill.com 或 Mailgun.org 这样的服务。他们对每天的电子邮件配额都非常宽容,而且非常可靠。

尝试更改以下行

smtpClient.Port = 587;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
smtpClient.EnableSsl = false;

smtpClient.Port = 465;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
smtpClient.EnableSsl = true;

我在 windows 8.1 上使用并且对我来说有效的是,

SmtpClient smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress, fromPassword)
};