将sendmailconfiguration为多域中继服务器

我有几个不同的服务器在内部运行不同的操作系统,每个服务器都处理特定域的电子邮件。 由于我只有一个面向公众的IP,所以我想configuration我的基于CentOS的服务器,它只接受来自外部世界的特定域的传入消息,随后将这些消息中继到合适的内部基于收件人域的服务器。

我不想破解DNS来实现这一点。 我知道我可以简单地在CentOS服务器上创build带有MX条目的区域,指向正确的内部地址,但这有点混乱。 我需要该机器继续使用每个域的区域的公共可用版本,所以这不是一个选项。 作为一个侧面说明,所有正确的MX条目已经指向我的面向公众的IP地址。

我已经读了一些智能表,似乎只有发件人的域被检查。 我可能是错的,所以没有排除。

Sendmail可以解决这个问题吗? 如果是这样,哪些configuration选项和function将允许我这样做? 样品将不胜感激。

我们正是这样做的。

您需要在两个configuration文件中进行input。

首先,在/etc/mail/relay-domainsinput您要/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 )。