要求):
(1)通过 STMP 连接到 Exchange 并(2)基本身份验证并发送电子邮件(3)自定义发件人地址(4)域外的收件人。
我能够让 (1) - (3) 工作。我为此任务创建了一个专用的接收连接器,并按如下方式配置它:
权限:
- ms-Exch-SMTP-Accept-Any-Recipient(针对经过身份验证的用户)
- ms-Exch-SMTP-Accept-Authoritative-Domain-Sender(针对经过身份验证的用户)
- ms-Exch-SMTP-Accept-Any-Sender(针对经过身份验证的用户)
验证:
- TLS
- 基本身份验证(无 TLS)
- Exchange 服务器身份验证
但是,我仍然对 (4) 感到困惑:我可以使用“假”发件人地址向域内的收件人发送邮件。此外,我还可以使用原始发件人地址向域外的收件人发送邮件。
您能告诉我我遗漏了什么吗,如何配置 Exchange 以将更改后的发件人地址的电子邮件发送给域外的收件人?(或者这是否可能?)谢谢。
更新
我必须纠正自己:它似乎终于可以正常工作了。我用来测试的邮箱肯定出了问题。结果发现它可以与其他外部邮箱一起使用。但是,我仍然不知道那里有什么不同……无论如何,您可以将此视为有关如何以这种方式配置 Exchange 的文档 ;)
答案1
你遇到了什么错误? 中继不允许?
一般来说,据我所知,Exchange 2010 不允许中继邮件(即接受服务器不具有权威性的收件人)。这可能就是为什么你可以向内部收件人发送邮件的原因。事实上,你应该小心不要阻止来自外部您的组织进入服务器。
根据您的基础设施,Exchange 通常将通过 SMTP 接受所有邮件(即端口 25/tcp,但不是587/tcp) 从外部(可能在垃圾邮件过滤器之后)发送到其目的地的收件人,即使发件人未经过身份验证。否则没有人可以向您发送电子邮件。当然,如果您的网络边界上有另一个 MTA,它接受来自外部的邮件,然后将其转发到 Exchange 服务器,情况就不同了。
我现在手边没有 Exchange 2010 测试服务器,因此无法测试我的陈述。但我首先想到的是,您需要在接收连接器的身份验证选项卡中选中“外部安全”才能允许中继。但据我所知,启用此功能会停用所有安全措施,即身份验证,因此您应该非常非常小心,否则最终可能会出现开放中继!
另外,请问一下您的方案的目的是什么?您从哪里连接?步骤 (1) 是从您的网络内部还是外部?如果您只是想从您的组织/网络内部的另一台服务器向外部收件人发送邮件,最简单的方法可能是启用上面提到的“外部安全”,并在“网络”选项卡中将发件人的 IP 源限制为您服务器的 IP。