在 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)
};
我一直在尝试在我的 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)
};