如何在专用服务器中使用IIS6 SMTP从ASP.NET发送邮件?
时间:2020-03-06 14:23:56 来源:igfitidea点击:
我正在尝试配置一个运行ASP.NET的专用服务器,以通过本地IIS SMTP服务器发送邮件,但是邮件被卡在Queue文件夹中并且无法传递。
我在.aspx页面中使用以下代码进行测试:
<%@ Page Language="C#" AutoEventWireup="true" %> <% new System.Net.Mail.SmtpClient("localhost").Send("[email protected]", "[email protected]", "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 [email protected] [email protected] 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 [email protected]. 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服务配置中,我认为它被称为其他东西。
我不记得确切的设置名称了。
从外观上看,防火墙不会使SMTP(TCP端口25)出入网络。
两个非常明显的问题(以防万一它们未被覆盖)
1.是否已禁用Windows防火墙?
2.我们是否有个人/公司防火墙阻止邮件发送?