如何转发(或代理)邮件到不同的smtp服务器取决于收件人地址?
我有一台SMTP(后缀)服务器监听端口25的机器。我想用Lamson( http://lamsonproject.org/ )来处理一些收到的邮件和一些邮件,我希望有postfix来处理。
我的想法是设置Lamson在不同的端口上听,比如localhost:10025。 然后我设置postfix通过侦听端口25捕获所有的邮件。
如何configurationPostfix在10025上将某些邮件代理给Lamson,并处理所有其他邮件?
Postfix在其configuration中非常灵活(因此是复杂的),因此有多种方法来实现这一点。 最简单的方法可能是使用transport(5)
表。
首先,在postfix中启用一个传输表:
/etc/postfix/main.cf: transport_maps = hash:/etc/postfix/transport
您还必须确保Postfix接受将由Lamson处理的地址的邮件。 查看规则的permit_auth_destination
Postfix将应用于确定有效的收件人地址。 对于下面的例子,假定“example.com”是一个不是Postfix已知的域,将其简单地添加为中继域可能是最简单的:
/etc/postfix/main.cf: relay_domains = example.com
然后,创build一个适当的表格。 例如,将域名“example.com”的所有邮件以及“user@mydomain.org”的邮件redirect到在本地端口10025监听的Lamson:
/etc/postfix/transport: example.com smtp:127.0.0.1:10025 user@mydomain.org smtp:127.0.0.1:10025
之后(然后每次更新到传输表文件后)不要忘记运行:
$ postmap /etc/postfix/transport
这应该让你去。 一定要阅读transport(5)
手册页,这将给你更多关于如何使用这个强大的设施的想法。