0

我在用于测试发送电子邮件的 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);
        }
        }
    }
4

1 回答 1

0

如果您真的使用“user@gmail.com”,我猜服务器拒绝接受凭据,因为该用户未知。尝试使用服务器上实际存在的电子邮件地址或用户名。

于 2013-03-22T09:24:21.600 回答