我正在使用.Net 4 c#,Windows Server 2008 R2,IIS 7,我的Web服务中使用以下代码来测试发送电子邮件。有用。然后,我在我的经典asp应用程序中使用相同的代码,通过COM +调用.net c#,并且
失败“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);
}
}
}
答案 0 :(得分:0)
如果您真的使用“user@gmail.com”,我猜服务器拒绝接受凭据,因为此用户未知。尝试使用服务器上实际存在的电子邮件地址或用户名。