我有几个不同的服务器在内部运行不同的操作系统,每个服务器都处理特定域的电子邮件。 由于我只有一个面向公众的IP,所以我想configuration我的基于CentOS的服务器,它只接受来自外部世界的特定域的传入消息,随后将这些消息中继到合适的内部基于收件人域的服务器。
我不想破解DNS来实现这一点。 我知道我可以简单地在CentOS服务器上创build带有MX条目的区域,指向正确的内部地址,但这有点混乱。 我需要该机器继续使用每个域的区域的公共可用版本,所以这不是一个选项。 作为一个侧面说明,所有正确的MX条目已经指向我的面向公众的IP地址。
我已经读了一些智能表,似乎只有发件人的域被检查。 我可能是错的,所以没有排除。
Sendmail可以解决这个问题吗? 如果是这样,哪些configuration选项和function将允许我这样做? 样品将不胜感激。
我们正是这样做的。
您需要在两个configuration文件中进行input。
首先,在/etc/mail/relay-domains
input您要/etc/mail/relay-domains
,每行一个。 包括任何变化。
其次,在/etc/mail/mailertable
,您必须告诉sendmail如何处理发往该域的邮件。
例:
/etc/mail/relay-domains
:
exampledomain.com otherdomain.com
/etc/mail/mailertable
:
exampledomain.com relay:mailboxes.exampledomain.com
请记得在/etc/mail
运行make,以使mailertable
的更改生效。
请注意,如果您没有为域inputmailertable
,它将会咨询DNS并尝试发送到“更好的”MX; 如果DNS没有任何用处,它将尝试在本地发送邮件(并且失败,除非你已经篡改了/etc/mail/local-host-names
)。