【发布时间】: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