在我的服务器上,我希望Postfix是MTA,接受邮件,并像这样应用虚拟邮箱映射(当然,我的域名而不是example.org):
在/etc/postfix/main.cf中:
virtual_mailbox_maps = hash:/etc/postfix/virtual
/等/后缀/虚拟:
[email protected] mymailbox/
然后,邮件应由Dovecot(作为MDA)“传递”到/ var / mail / vhosts / username中的用户目录。 因此,我在Dovecot-Wiki中configuration了Postfix和Dovecot: http ://wiki2.dovecot.org/LDA,并将以下解释添加到/etc/postfix/master.cf中:
dovecot unix - nn - - pipe flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
我遇到的问题是,Postfix似乎通过虚拟映射validation传入的电子邮件([email protected]交付,另一个名称@ example.com不),但是Postfix不发送映射结果(“mymailbbox”)来交付,但原来的地址(“[email protected]”)。
我的第一个想法是,有另一个variables,我可以在master.cf中使用,而不是$ {收件人}(你可以通过“man pipe”查找它们),但是我没有find任何似乎做我想。
所以我的问题:是否有可能使用Postfix的虚拟映射和Dovecot的交付? 如果不是的话,是否有可能在Dovecot中像在Postfix一样简单地做一个虚拟邮箱映射?
提前致谢!
尝试使用以下参数设置您的dovecot LDA:
argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -a ${recipient} -n -m ${extension}
我使用它来支持本地部分的扩展(如[email protected] )。 您可能要尝试使用${mailbox}来代替${user}@${nexthop} 。 看看所有可能的替代man 8 pipe 。
顺便说一句:这是我用于一个工作的虚拟映射,将多个域的电子邮件地址映射到虚拟邮箱。 在dovecot方面,我使用相同的表(通过dovecot的SQLconfiguration)为每个虚拟邮件用户进行身份validation。 不确定您是否可以通过这种方式将虚拟邮件地址映射到真实的系统用户。
如果您将Dovecot用作MDA,则将忽略postfix中的所有virtual_mailbox设置,因为这些设置仅适用于提供的虚拟(8)递送代理。