smtp(gmail)在经典的asp中失败,但在Web服务中工作

时间:2013-03-21 15:16:34

标签: .net asp-classic smtp com+

我正在使用.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);
        }
        }
    }

1 个答案:

答案 0 :(得分:0)

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