首页 / 知识

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

2023-04-17 11:12:00

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

How to send mail from ASP.NET with IIS6 SMTP in a dedicated server?

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

我在.aspx页面中使用以下代码进行测试:

1
2
3
4
<%@ Page Language="C#" AutoEventWireup="true" %>

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

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

1
2
3
4
5
6
7
<system.net>
  <mailSettings>
    <smtp>
      <network host="localhost"/>
    </smtp>
  </mailSettings>
</system.net>

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

1
2
3
4
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工具,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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服务配置中,我认为它被称为其他东西。

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


两个非常明显的问题(以防万一它们未被覆盖)
1.是否已禁用Windows防火墙?
2.您是否有个人/公司防火墙阻止您的邮件发送?


从外观上看,您的防火墙不会使SMTP(TCP端口25)出入网络。


专用发送邮件服务服务器

最新内容

相关内容

猜你喜欢