我在用于测试发送电子邮件的 Web 服务中使用 .Net 4 c#、Windows Server 2008 R2、IIS 7 和以下代码。有用。然后,我在通过 COM+ 调用 .net c# 的经典 asp 应用程序中使用相同的代码,但它失败了
“System.Net.Mail.SmtpException:发送邮件失败。---> System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:无法建立连接,因为目标机器主动拒绝 xx.xxx.xxx.xxx:587"
我已经研究了几天,找不到任何有用的东西。任何帮助将不胜感激。谢谢你。
public static class Mail
{
public static void SendEmail(string subject, string body)
{
var fromAddress = new MailAddress("user@gmail.com", "From Name");
var toAddress = new MailAddress("user@email.com", "To Name");
const string fromPassword = "password";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
}
}