【问题标题】:Issue with SMTP relay in .NET.NET 中的 SMTP 中继问题
【发布时间】:2010-01-22 23:45:41
【问题描述】:

也许这更像是一个 IIS 问题而不是编程问题,但我还是会把它扔在那里。

我正在尝试使用以下测试代码通过 C# 的 SMTP 发送电子邮件:

//params: from email, to email, subject, body
MailMessage m = new MailMessage( <sendemail>, <receiveemail>, "testsubject", "Testbody" );

SmtpClient c = new SmtpClient( <SMTP Server> );

c.Send( m );

非常简单。由于我的 SMTP 服务器上的配置,我完全避免使用凭据:

alt text http://img683.imageshack.us/img683/8909/smtp1.png

这应该允许我在没有凭据的情况下进行连接。 或者,我尝试使用空字符串作为用户名/密码和默认凭据。

当我发送尝试发送时,我收到“发送 SMTP 电子邮件失败并出现以下错误:邮箱不可用。服务器响应为:5.7.1 无法中继”错误。我去IIS的relay部分,是这样的:

alt text http://img192.imageshack.us/img192/5002/smtp2.png

所以我的想法是即使启用了“允许所有成功进行身份验证的计算机中继”选项,因为我允许匿名身份验证,我的应用程序无法中继。是这样吗?如果是这样,我该如何修复我的代码以便能够中继?我已经尝试向域内外的电子邮件发送消息,但无济于事。这是一台服务器 2003 机器。

【问题讨论】:

    标签: .net email iis smtp windows-server-2003


    【解决方案1】:

    您的评估是正确的。

    您可以切换到使用经过身份验证的连接,或者将运行代码的所有 IP/域添加到中继例外列表中。

    【讨论】:

    • 感谢您的意见。我会试试看的。
    猜你喜欢
    • 2011-06-12
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2010-10-29
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多