exchange 2007给外网发送邮件没有什么问题,而外网发到内网的邮件收不到,但是当重新启动服务器之后,外网之前发送的邮件会收到,后续发送的邮件还是没有办法收到。
步骤一:重启Exchange Transport 服务
===================
在Exchange 2007 服务器上,检查SMTP 服务。如果SMTP 服务被启用了,将SMTP 服务禁止。 之所以这样做是因为Exchange 2007使用自己的Transport 服务来收发邮件而不是使用SMTP 服务。重启Exchange Transport 服务.测试问题是否还在。如果问题还在的话,继续步骤二:检查Receive Connectors
=============
1. 打开Exchange Management Console, 展开Server Configuration
2. 选中Hub Transport, 打开每一个Receive Connector的属性
3. 在"Permission Groups" tab 下选上所有的下面的条目
AnonymousUsers
ExchangeServers
ExchangeUsers
ExchangeLegacyServers
4. 切换到Authentication tab, 选上所有的下面的条目
Transport Layer Security
Basic Authentication
Exchange Server authentication
Integrated Windows authentication
重启Exchange服务器上的Exchange Transport 服务,测试一下问题是否还在。如果问题还在的话,继续步骤三:检查邮件扫描
=============
1. 检查Exchange
服务器上是不是安装有三方的防垃圾邮件程序或者邮件扫描程序,如果有的话,临时停掉这些防垃圾邮件程序或者邮件扫描程序。
2. 如果您的Exchange 服务器上安装的有防病毒软件,请确保下面的Exchange组件不被扫描
C:/Program Files/Microsoft/Exchange Server
打开注册表键值,找到下面的key
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSExchangeIS/VirusScan
如果VirusScan 这个键值存在的话,将其下面的Enable的值设为0
o Value name: Enable
o Value Type: REG_DWORD
o Value Data: 0
如果问题还在,可以尝试收集Exchange 2007 服务器上的SMTP logs ,以便进行深入的故障排查
a. 打开Exchange Management Console, 展开Server Configuration
b. 选中Hub Transport, 打开每一个Receive Connector的属性
c. 将Protocol Logging level 设成 Verbose.
d. 重启Exchange服务器上的Exchange Transport 服务
e. 重现问题,然后将SMTP Receive log ( C:/Program Files/Microsoft/Exchange
Server/TransportRoles/Logs/ProtocolLog/SMTPReceive)
为了便于您整体构建组织内的邮件系统,我们还应该在Exchange 2007 Hub服务器上安装防垃圾邮件的agents来启用防垃圾邮件策略。
安装防垃圾邮件的agents具体的步骤:
================
1. Log on to the Exchange 2007 Hub Transport Server.
2. Go to "Start" -> "Programs" -> "Microsoft Exchange Server 2007".
3. Open "Exchange Management Shell".
4. Write "Install-AntispamAgents.ps1" and press on the "Enter" key.
5. Restart "Microsoft Exchange Transport" service.
6. Go to "Start" -> "Programs" -> "Microsoft Exchange Server 2007".
7. Open "Exchange Management Console".
8. Navigate to "Microsoft Exchange" -> "Organization Configuration" > "Hub
Transport".
9. A new tab, named "Anti-Spam" should appear.
同时要注意Exchange 服务器的Accepted Domains没有配置正确,以至于垃圾邮件发送者利用您的服务器发送垃圾邮件。查看下面的配置:
1. 打开Exchange Management Console, 展开Organization Configuration
2. 选中Hub Transport, 选择Accepted
Domains选项卡,然后检查配置。确保只有您自己的邮件域名可以被接受。没有其它的邮件域名尤其是通配域名“*”被配成Accepted。
3. 重新启动Exchange Transport 服务
4. 打开Exchange Management Shell, 然后运行下面的命令
Get-ReceiveConnector | remove-ADPermission -User "NT AUTHORITY/ANONYMOUS
LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
收到confirm的信息后,输入A, 然后按回车键
这个命令会禁止匿名用户通过Receive Connector来转发垃圾邮件。这是推荐的配置。不会影响正常的邮件收发
5. 重新清理队列:
a.停掉Exchange Transport 服务
b.重命名Queue 文件夹 (C:/Program Files/Microsoft/Exchange
Server/TransportRoles/data/Queue)
c.重启Exchange Transport 服务
检查垃圾邮件的问题是否还在。如果问题还在,收集下面的信息,做深入分析:
打开Exchange Management Shell, 然后运行下面的命令,收集您的Accepted Domain的配置信息和 Receive
Connector上的权限的设置信息。
Get-accepteddomain | fl >C:/domain.txt
Get-ReceiveConnector | get-ADPermission -User "NT AUTHORITY/ANONYMOUS
LOGON" | fl >c:/permission.txt