IIS / SMTP-电子邮件卡在mailroot / Queue中


25

我正在尝试通过IIS提取目录中的SMTP发送电子邮件。不幸的是,电子邮件只是进入mailroot / queue文件夹并停留在那里。他们从未真正被发送过。

有谁知道为什么会发生这种情况以及可能的解决方案?


1
我一直遇到同样的问题,但事实证明,这仅发生在特定的目标域/服务器上,即我正在使用工作地址(Exchange服务器)向自己/同事发送电子邮件,而邮件仅位于队列中。我不小心将一个发送到了我的个人gmail帐户,并且没有问题。随后使用hotmail和另一台Exchange服务器作为目标进行了测试,并且邮件发送正常。尚未找出问题所在,但如果有人仍然遇到类似问题,可能需要检查一下!
马特

@MatthewSwain我在这里看到同样的事情。成功发送了数百甚至数千封邮件,但队列中当前有53封邮件。它们似乎都是针对特定的接收者/域的。
Zero3 '17

Answers:


18

文件卡在队列中也有类似的问题。在IIS管理器中,“ SMTP虚拟服务器”>“属性”>“ Delievery”>“出站连接”。Limit number of connections to已检查的选项,值为0。因此将其配置为永不建立任何出站连接,从而使电子邮件永不离开服务器。我取消选中该选项,然后重新启动SMTP服务器,一切正常。


很好的抓住了这个..但是,我什至不记得起初在那个窗口上去检查那个选项..不知道它是如何以0结尾的!
krilovich

今天发生在我们身上。我进入更改设置,并选中“常规”选项卡上的“限制连接数”,并且也有“ 0”。显然,这也更改了“出站连接”设置。
特拉维斯


4

仅作记录:由于DNS设置错误,服务器无法解析名称。产生的行为正是您所描述的。


1
什么是DNS问题?
Shaamaan '16

就我而言,我必须重新启动域控制器。无论出于何种原因,发给特定客户的电子邮件都无法通过。我们举办一个盒子具有域设置相同的客户端如果给任何人一个线索,为什么发生这种情况,并周期性地发生......无韵或reason..HTH
戴维

1

IISRESET为我修复了此问题。我相信这类似于重置SMTP服务的解决方案,因为该服务取决于IIS。重新启动后,C:\ inetpub \ mailroot \ Queue中的邮件开始消失!


1

我最近遇到了这个问题。就我而言,这是网络适配器中DNS服务器定义的问题(出于某些原因,这有两个我不知道)。指定的DNS服务器设置为“ 127.0.0.1”,而不是此网络上通常使用的普通“ 8.8.8.8”。我将其更改为正确的值,重新启动了SMTP服务器,并立即分发了排队的电子邮件。

我如何弄清楚DNS定义问题:

  • 使用nslookup查找要测试的MX服务器(已测试5或6个不同的服务器)
  • 尝试通过telnet连接到服务器(每次遇到“无法连接”消息,这使我最初想到防火墙问题)
  • 尝试ping通已测试的mx服务器的值(每次遇到“无法连接到主机”消息)

希望这会对其他人有所帮助,这不是我最初想到的东西。


0

以我的经验,这通常是由于IIS SMTP尝试发送并遇到临时(4xx响应代码)错误。您是否已打开IIS SMTP服务的日志记录并查看了日志?抱歉,如果这很明显,但是在不知道日志显示内容的情况下,很难知道原因或解决方法。


1
一点都不明显。我对IIS等了解不多。[我应该],但我主要关注代码,而不是系统管理员。甚至不确定如何设置日志。
杰克·马尔凯蒂

我唯一看到的是:操作:失败状态:5.3.5
Jack Marchetti 2010年

要启用日志,请打开IIS 6管理员(即使您使用的是IIS 7,SMTP服务仍然是IIS 6的一部分),右键单击SMTP服务的属性,然后转到日志记录选项卡。您应该能够启用日志和/或在此处找到日志的位置。
jlupolt 2010年

0

我认为问题可能是系统上的IPv4和IPv6之间存在混淆,因此当您指定localhost时,将选择默认的IPv6协议。我今天遇到了同样的问题,并且在本地主机对主机中IPv6地址的引用被散列化之后已得到解决,尽管这可能是一个巧合(我也正在设置SVN)。所以这是我的设置,以防万一:

  1. 在IIS7中,我启用了“传递到SMTP服务器”选项,并将localhost作为我选择的服务器。
  2. 在IIS6中,我的访问权限设置为仅127.0.0.1,没有对传入或传出的身份验证。

我整天都在摆弄设置,因此,老实说,不确定是否还有其他因素会影响它现在可以正常工作。希望这至少可以有所帮助。


0

首先要看的是服务器日志文件。这将告诉您服务器是否在发送到特定主机时遇到问题。在大多数情况下(根据我的经验),造成这种情况的通常是DNS(无论是在您端还是远程)。


0

SMTP服务器正在寻找将邮件发送到的SMTP主机/网关。

如果您尝试发送到本地主机,则本地主机IP将是网关。如果您尝试发送到gmail或hotmail等外部电子邮件地址,则需要将ISP的邮件网关添加为智能主机。

设置智能主机:

  1. 在IIS管理器中,右键单击SMTP虚拟服务器,然后单击“属性”。
  2. 单击传递选项卡,然后单击高级。
  3. 在“智能主机”框中,键入智能主机服务器的名称。您可以输入代表名称的字符串或输入IP地址。
  4. 如果您希望SMTP服务在将远程消息转发到智能主机服务器之前尝试直接传递远程消息,请选中“在发送到智能主机之前尝试直接传递”复选框。默认是将所有远程消息发送到智能主机,而不尝试直接传递。

0

将电子邮件服务从一台主机切换到另一台主机(新的是Office 365)后,我遇到了同样的问题。经过大量的试验和错误,它最终通过以下操作开始工作:

  1. 将我的电子邮件域作为“远程”域添加到IIS 6。(这是O365中托管的域,所有用户帐户都使用。)
  2. 在IIS 6中,双击该域。在“路由域”下,选择“将所有邮件转发到智能主机”,然后输入您的服务器(在我的情况下为“ smtp.office365.com”)。还要选中“允许传入邮件转发到此域”框。
  3. 在IIS 6中,右键单击SMTP虚拟服务器>属性。
    • 常规选项卡:单击高级,然后添加本地服务器的IP和端口587
    • 访问选项卡:确保已选中“需要TLS加密”。我必须在IIS 7中使用我的电子邮件域的名称创建域证书。
    • 访问选项卡:将本地服务器IP添加到“连接”和“中继”列表中。
    • 交付选项卡:出站安全性:选择基本身份验证,输入有效许可用户的凭据;选中“ TLS加密”复选框
    • 传递选项卡:出站连接:为TCP端口输入587
    • 传递选项卡:高级:输入电子邮件域作为“完全合格的域名”,并将电子邮件服务器作为“智能主机”(在我的情况下也是smtp.office365.com)。

防火墙:我读到您需要打开端口587进行出站。(我不是因为这是需要关闭防火墙的VOIP服务器。)

Office 365:在“管理”>“ Exchange”下添加“连接器”以允许您的本地静态IP。Microsoft在线提供了这些说明。


0

最近遇到了这个问题。有人已将MalwareBytes安装到smtp服务器上,并且smtp mailroot文件夹未列入白名单。该软件将队列中的所有内容都视为潜在的垃圾邮件活动,并使其超时,以至于转移到了死信中。所有域都受到影响。让我感到困惑(多年来无懈可击的操作..),直到我查看正在运行的进程并注意到mbam的exe。


-2

我遇到过同样的问题。正如其他人所说,这与DNS有关。我的内部DNS服务器上有一个用于公共域名(与我们的内部域名不同)的正向查找区域。我必须在此内部正向查找区域中添加MX记录,以匹配公共域DNS记录中的MX记录。这解决了问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.