我正在尝试配置运行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服务配置,我认为它被称为其他东西.
我不记得确切的设置名称.