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

在windows 8.1和VS2013中使用C#发送电子邮件,c#,email,C#,Email,我尝试在我的windows 8.1 pc上发送一封带有C#的电子邮件已有一段时间了,但这个错误不断出现 System.dll中发生类型为“System.Net.Mail.SmtpException”的未处理异常 附加信息:处理中出错。服务器响应为:MFE代理上的请求操作中止,SMTP服务器不可用 请注意,我在以前的电脑上使用了相同的代码,没有任何问题。此外,我关闭了防火墙和防病毒软件,但没有成功 下面是我正在使用的代码 MailMessage mail = new MailMessage {Fr

我尝试在我的windows 8.1 pc上发送一封带有C#的电子邮件已有一段时间了,但这个错误不断出现

System.dll中发生类型为“System.Net.Mail.SmtpException”的未处理异常

附加信息:处理中出错。服务器响应为:MFE代理上的请求操作中止,SMTP服务器不可用

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

下面是我正在使用的代码

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向gmail地址发送邮件


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

尝试更改以下行

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


我在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)
};

谢谢我认为mandrill.com是一个不错的选择。但是我在发送附件方面仍然有问题。您的附件到底有什么问题
SmtpClient smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress, fromPassword)
};