/ 中存储网

Exchange简单实现SMTP匿名中继的机制和原理

2014-08-28 22:01:09 来源:中存储网

一、 背景介绍:

实验环境分为两个域:

  • Exchange.com(传入域):Exchange 2010
  • Exch.com(远程域):Exchange 2003
  • 发送方式:telnet匿名发送

    二、 实现步骤:

    1. 在传入域搭建远程域发送连接器:

    登录Exchange 2010控制台,导航到组织配置——集线器传输——发送连接器——右键“新建发送连接器”:

    填写名称和自定义方式:

    填写远程域的SMTP地址空间:

    选择“使用域名系统MX…”方式:

    指定源服务器,即本地:

    确认信息并创建:

    2. 远程域创建接收连接器:

    对Exchange Server 2003 邮件服务器而言,无需创建 SMTP 连接器就可以使用该服务器发送和接收电子邮件,也不需要将其连接到 Exchange 组织中的其他服务器或者连接到 Internet。Exchange 2003自动创建这些连接。通常,您只需连接到 Internet 并具有一个指向您组织内部运行Exchange 2003的服务器的邮件MX 记录,就可以收发邮件。那么只要确认该SMTP虚拟服务器开启即可:

    3. 创建传入域的接收连接器:

    登录Exchange 2010控制台,导航到服务器配置——集线器传输——点选指定服务器——查看下方接收连接器——新建接收连接器:

    填写名称以及选择Internet:

    指定本地IP以接收邮件:

    确认信息并创建:

    查看属性检查相关信息:

    在“网络”中指定要接收来自哪些IP的邮件(本例中192.168.1.20为本地服务器,192.168.2.10为远程域客户端):

    确认权限组标签页中选择“匿名用户”:

    4. 授予传入域接收连接器中继:

    在EMS中输入以下命令开启:

    Get-ReceiveConnector "[Name]" | Add-ADPermission -User "NT AUTHORITYANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

    其中[Name]替换接收连接器的名称即可。

    三、 测试:

    在远程域Exch.com上(客户端192.168.2.10)使用telnet匿名发送到传入域Exchange.com,目标仍然是excha.com上的邮箱test2003(为方便测试简化实验)。一般情况下,邮件到达传入域发现并非传入邮件则启用中继功能转寄到远程域Exch.com,再由它投递到test2003。

    1. 在Exch.com上某客户端使用telnet发送匿名邮件:

    输入命令telnet 192.168.1.20 25(192.168.1.20为传入域邮箱服务器IP):

    成功连接:

    发送helo:

    输入mail from:xxx@exch.com,若成功显示250信息:

    输入rcpt to:xxx@exch.com,指定收件人地址,成功显示250信息:

    输入正文,以“.”结束:

    到test2003邮箱上检查,已收到匿名邮件!

    四、 总结

    本例简单的实现SMTP匿名发送和中继邮件功能,在实际中比较实用,例如实现VMWare ESXi主机的警报功能、各种第三方业务系统的匿名群发等。