我正在尝试设置一个接收连接器,以便允许基于 Web 的 CRM 中继邮件。到目前为止,它可以正常工作,但前提是我用来登录的用户属于 Active Directory 中的“域管理员”组。
以下是我检查过的接收连接器的设置:
- 安全 - 身份验证:传输层安全性、基本身份验证
- 安全 - 权限组:Exchange 用户、匿名用户
- 范围界定 - IP 地址:CRM 的地址,以及用于测试目的的我的 IP 地址。
- 范围 - 网络适配器绑定:所有可用的 IPv4、端口 25。
以下是我发送电子邮件的步骤:
telnet (server fqdn) 25
ehlo
auth login
(username in base 64)
(password in base 64)
"Authentication successful"
mail from: (email address)
"sender ok"
rcpt to: (my email addres)
"recipient ok"
data
subject: test
test
.
"250 Mail queued for delivery."
quit
我从来没有收到过电子邮件,它没有出现在队列中,也没有出现在 SMTP 日志中。但如果我将用户添加到 Active Directory 用户和计算机中的“域管理员”组,并重复这些步骤,一切看起来都完全一样,但我确实收到了电子邮件。目前,测试用户只是“域用户”的成员。有什么想法吗?
答案1
您已经配置了特定于 CRM 的传输连接器;很好。您已勾选“匿名用户”?这将允许您的 CRM 系统代表您的本地用户发送。
现在,假设连接器名为“CRM”,还运行此 powershell 代码片段
Get-ReceiveConnector "CRM" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
这样做的目的是告诉 Exchange,您的 CRM 系统被允许使用 Exchange 通过它向非本地用户传递信息。(我不记得我的 2010 系统是否也需要这样做才能向本地用户传递信息,但我确实记得在这件事上有很多挫折。以至于我尝试了一件又一件的事情,以至于我的笔记都不完整了。)
此链接至Elan Shudnow 的博客文章也可能对此事有帮助。