![不需要使用 hMail 服务器对特定域进行 smtp 身份验证](https://linux22.com/image/581246/%E4%B8%8D%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%20hMail%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AF%B9%E7%89%B9%E5%AE%9A%E5%9F%9F%E8%BF%9B%E8%A1%8C%20smtp%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我的一位客户为几个域名设置了不必要的复杂电子邮件设置,这导致他们在尝试在它们之间发送电子邮件时出现问题。
他们有几个域名,其中邮件的路径有点奇怪:
- 用户连接到 Exchange 服务器发送电子邮件
- Exchange 服务器将邮件转发到 ISP 拥有的 SMTP 服务器作为智能主机
- ISP 服务器将邮件递送到 DNS 中指定的邮件交换器
- 邮件交换器是另一个运行 hMailServer 的服务器
- Exchange 服务器通过 POP3 连接到 hMail 服务器并检索消息。
当他们在同一个域中的地址之间或 hMail 服务器上的两个地址之间发送邮件时,就会出现问题。hMail 在从本地地址发送到本地地址时需要 SMTP 身份验证,因此邮件无法到达。
删除 SMTP 身份验证实际上不是一个选择,因为该服务器一直是从伪造的本地地址发送的垃圾邮件的目标。SMTP 身份验证可以防止这种情况发生。可以将 ISP 的邮件服务器添加为具有特定规则的 IP 范围,但这似乎不太好。
考虑到我只能访问 hMail 服务器而不能访问 Exchange 服务器,有没有更好的方法来解决此问题?
答案1
用户是否通过 Exchange 客户端发送邮件,然后通过 hMail 服务器接收邮件?我想我漏掉了什么,因为这种划分相当奇怪。
如果 hMail 服务器需要对本地域消息进行 SMTP 身份验证,那么您必须以某种方式绕过它。如果您无法对 Exchange 服务器进行任何更改,那么几乎只能建立豁免。我建议确保 ISP 的服务器被标记为传入中继,然后将 Exchange 服务器列入白名单,使其不需要 SMTP 身份验证。至少这样,您将 Exchange 服务器列入白名单,而不是整个 ISP。这仍然不够优雅吗?也许。但是您的设置很复杂。
答案2
看起来您可能已经解决了这个问题,但是在 hMailServer 中添加 IP 范围并关闭本地到本地的身份验证是执行您尝试执行的操作的正确方法。
您还想过什么更“优雅”的东西吗?