【问题标题】:Configure SMTP server on windows server 2008 to send emails from web application在 windows server 2008 上配置 SMTP 服务器以从 Web 应用程序发送电子邮件
【发布时间】:2013-02-17 16:58:46
【问题描述】:

我有这个在 ASP.NET 4.0 下用 C# 编写的 Web 应用程序,它在 Windows 2008 服务器上运行。我想从 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);

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

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

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

【问题讨论】:

    标签: asp.net email configuration smtp


    【解决方案1】:

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

    【讨论】:

    • 当我设置 EnableSSL = true 时,我收到类似“服务器不支持 ssl 连接”的错误。为什么建议更改端口?
    • 通常安全的 SMTP 连接不通过端口 25 进行。通常它们通过端口 587(或有时是端口 465)。
    猜你喜欢
    • 2013-01-21
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多