1

我在 Windows 2008 服务器上运行的 ASP.NET 4.0 下用 C# 编写了这个 Web 应用程序。我想从 username@mydomain.com 向用户发送电子邮件,但我不能。我正在使用以下方法(使用 smtp.gmail.com 工作)并使用 System.Net.Mail;

        string from = "user@mydomain.com";
        string password = "12345";

        MailMessage mail = new MailMessage();
        mail.To.Add(to);
        mail.From = new MailAddress(from);
        mail.Subject = title;
        mail.Body = message;
        mail.IsBodyHtml = true;

        SmtpClient smtp = new SmtpClient();
        smtp.Host = "stmp ip here";
        smtp.Port = 25;
        smtp.Credentials = new System.Net.NetworkCredential(from, password);
        smtp.EnableSsl = false;

        smtp.Send(mail);

我已经使用基本身份验证和出站安全 -> 基本身份验证(使用 user@mydomain.com 和 12345 作为密码)安装和配置了 SMTP 服务器。在我网站上的 IIS7 中,我单击了 SMTP 电子邮件并输入了我的 SMTP 服务器的 IP 以及上面的凭据。

在进行所有这些配置之前,我遇到了诸如电子邮件卡在队列文件夹中、服务器不支持 ssl 连接等问题。现在,我在发送电子邮件时收到的唯一错误是从我的应用程序记录的:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为: 5.7.3 客户端未通过身份验证,电子邮件未到达目的地。队列文件夹是空的,我在 SMTP 服务器日志中没有任何错误!

我在谷歌上做了很多关于它的研究,但我无法修复它。Telnet 正常工作,端口 25 未被阻止,禁用 Windows 防火墙也无济于事。我真的被困住了。有任何想法吗?谢谢!

4

1 回答 1

1

听起来服务器可能要求您将“EnableSsl”设置为“真”。因此,您可以尝试在服务器上禁用此功能,也可以在客户端中简单地设置“EnableSSl = true”。然后您可能需要将端口更改为 587 或(有时)465。

于 2013-03-03T17:43:50.233 回答