Sendmail:将域中的某些地址重定向到另一台主机,而不更改信封收件人

Sendmail:将域中的某些地址重定向到另一台主机,而不更改信封收件人

我正在尝试使用 Google G Suite 托管一些电子邮件地址,但不是全部。

我目前有一台服务器托管我的域名和该域名的 MX 服务器。没有本地电子邮件帐户,所有内容都通过 virtusertable 转发到其他电子邮件地址。

我希望 MX 条目保持不变,但邮件到[电子邮件保护]转发至 Gmail[电子邮件保护]地址。

G Suite 中有一个关于如何实现这一点的条目: https://support.google.com/a/answer/60730?hl=en

然而,最有用的描述是“配置入站邮件网关服务器以将邮件传送到 G Suite 邮件服务器。配置步骤因网关服务器而异。”

所以我想用 sendmail 来做到这一点(抱歉,所有的习惯,我已经带着这个配置近二十年了,我懒得学习另一个 MTA)

类似于 virtusertable 中的内容: [电子邮件保护] MX:[电子邮件保护]@GOOGLE_SMTP_服务器IP

关于如何做到这一点,您有什么想法吗?是否可以使用 sendmail 来实现?

谢谢

答案1

Sendmail:将域中的某些地址重定向到另一台主机,而不更改信封收件人

您可以使用FEATURE(ldap_routing)
它可以在没有 ldap 查找的情况下使用。它可以改用标准 sendmail 映射(hash/btree/...)。

sendmail.mc修复(将其编译成sendmail.cf并重新启动或 HUP sendmail 守护程序):

LDAPROUTE_DOMAIN(`example.com')dnl
FEATURE(`ldap_routing',`hash /etc/mail/mailhost',`null')dnl

nullmap 总是返回“未找到”-我已经使用 map 重写收件人地址

/etc/mail/mailhost文件(需要编译makemap hash mailhost):

[email protected]  [GOOGLE_SMTP_SERVER_IP]

[]围绕 IP 地址关闭 MX 记录的查找。


测试

它应该由典型的 sendmail 安装中的 root 来执行。

# check where sendmail would deliver emails for [email protected] 
sendmail -bv [email protected]
# as above but with tracking map lookups including mailhost map
sendmail -d60.5 -bv [email protected]
# worst case debug procedure - tracking R lines processing in sendmail.cf
echo '3,0 [email protected]' | sendmail -d60.5 -d21.12 -bt

相关内容