relay是指当一封邮件在使用该组织的smtp服务,而该邮件的收件人不是该组织的内的邮箱。所以这个权限默认都是deny的,只有通过smtp身份验证的用户才可以。如,contoso.com组织内的一台服务器,他只接收收件人为@contoso.com的邮件,当尝试发到其他域时,就得有relay权限。如果没有relay权限将不可发送邮件。如下图:
我用telnet 到exchange 服务器进行测试,如果没有开通relay权限将得到550 5.7.1错误

公司内部的一些系统需要通过exchange 2010来发送电子邮件,在exchange 2003时基本上使用一台exchange 2003服务器并开通relay权限,这样做有个缺点就是当访问的客户端很多时你需手经常去手动添加维护,同时如果你更换了exchange服务器服务器你得通知使用者更换使用者更换smtp服务器。
在此次升级中,我让我们部门软件开发人员要求他们在开发程序时如果调用smtp必须先进行身份验证,这样我就不必为不同的系统开放relay权限了,但是对于一些旧系统无法添加身份验证,那只能在exchange 2010上再开放relay权限。同时在exchange 2010中进行relay设定也不同于exchange 2003下,以下为设定步骤:
1.新建一个anonymous的接收连接器

2.填写relay名

3.直接下一步
 
4.删除默认地址,并添加只可允许relay的客户端

5.


6.打开刚建立的接收连接器,并设定权限组

7.同时设定该接收器允许接收的的邮件大限制,我这边设了31000kb,即该连接器可以接收31000kb以下的邮件大小
exchange 2010 relay设定_休闲_08

8.最后一步也是最重要的一步,只有这一步的设定才启用了Anonymous relay权限,该设定需要通过exchange power shell命令,并且要连接到连接器所在的hub服务器上。命令如下:Get-ReceiveConnector后为连接器名relay
Get-ReceiveConnector "relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

微软官方文档路径为: