如何在专用服务器中使用IIS6 SMTP从ASP.NET发送邮件?

我正在尝试配置运行ASP.NET的专用服务器以通过本地IIS SMTP服务器发送邮件,但邮件卡在Queue文件夹中并且无法传递.

我在.aspx页面中使用此代码来测试:

<%@ Page Language="C#" AutoEventWireup="true" %>

<% new System.Net.Mail.SmtpClient("localhost").Send("info@thedomain.com", 
    "jcarrascal@gmail.com", "testing...", "Hello, world.com"); %>    

然后,我将以下内容添加到Web.config文件中:

<system.net>
  <mailSettings>
    <smtp>
      <network host="localhost"/>
    </smtp>
  </mailSettings>
</system.net>

在IIS管理器中,我在“默认SMTP虚拟服务器”的属性中更改了以下内容.

General: [X] Enable Logging
Access / Authentication: [X] Windows Integrated Authentication
Access / Relay Restrictions: (o) Only the list below, Granted 127.0.0.1
Delivery / Advanced: Fully qualified domain name = thedomain.com

最后,我运行SMTPDiag.exe工具,如下所示:

C:\>smtpdiag.exe info@thedomain.com jcarrascal@gmail.com

Searching for Exchange external DNS settings.
Computer name is THEDOMAIN.
Failed to connect to the domain controller. Error: 8007054b

Checking SOA for gmail.com.
Checking external DNS servers.
Checking internal DNS servers.
SOA serial number match: Passed.

Checking local domain records.
Checking MX records using TCP: thedomain.com.
Checking MX records using UDP: thedomain.com.
Both TCP and UDP queries succeeded. Local DNS test passed.

Checking remote domain records.
Checking MX records using TCP: gmail.com.
Checking MX records using UDP: gmail.com.
Both TCP and UDP queries succeeded. Remote DNS test passed.

Checking MX servers listed for jcarrascal@gmail.com.
Connecting to gmail-smtp-in.l.google.com [209.85.199.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to gmail-smtp-in.l.google.com.
Connecting to gmail-smtp-in.l.google.com [209.85.199.114] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to gmail-smtp-in.l.google.com.
Connecting to alt2.gmail-smtp-in.l.google.com [209.85.135.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt2.gmail-smtp-in.l.google.com.
Connecting to alt2.gmail-smtp-in.l.google.com [209.85.135.114] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt2.gmail-smtp-in.l.google.com.
Connecting to alt1.gmail-smtp-in.l.google.com [209.85.133.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt1.gmail-smtp-in.l.google.com.
Connecting to alt2.gmail-smtp-in.l.google.com [74.125.79.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt2.gmail-smtp-in.l.google.com.
Connecting to alt2.gmail-smtp-in.l.google.com [74.125.79.114] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt2.gmail-smtp-in.l.google.com.
Connecting to alt1.gmail-smtp-in.l.google.com [209.85.133.114] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to alt1.gmail-smtp-in.l.google.com.
Connecting to gsmtp183.google.com [64.233.183.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to gsmtp183.google.com.
Connecting to gsmtp147.google.com [209.85.147.27] on port 25.
Connecting to the server failed. Error: 10051
Failed to submit mail to gsmtp147.google.com.

我正在使用ASP.NET 2.0,Windows 2003 Server和它附带的IIS.

你能告诉我还有什么可以改变来解决这个问题吗?

谢谢

@mattlant

这是一个专用服务器,这就是我手动安装SMTP的原因.

EDIT: I use exchange so its a little
different, but its called a smart host
in exchange, but in plain SMTP service
config i think its called something
else. Cant remember exactly the
setting name.

感谢您将我指向智能主机字段.邮件现在正在递送.

在“默认SMTP虚拟服务器”属性的“传递”选项卡中,单击“高级”,然后在“智能主机”字段中填写提供商为您提供的地址.在我的情况下(GoDaddy)它是k2smtpout.secureserver.net.

更多信息:http://help.godaddy.com/article/1283

最佳答案 我发现最好的事情通常取决于电子邮件的数量,只是通过ISP的SMTP服务器转发邮件.少说头疼.看起来这就是你遇到问题的地方,从你的SMTP到外部服务器,而不是asp.net到你的SMTP.

只需将您的SMTP服务器设置为发送给您的ISP,或者您可以配置asp.net发送给它.

编辑:我使用交换,所以它有点不同,但它被称为交换智能主机,但在普通的SMTP服务配置,我认为它被称为其他东西.

我不记得确切的设置名称.

点赞