You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何基于收件人域名配置Postfix将邮件投递至自定义MailDir路径

如何基于收件人域名配置Postfix将邮件投递至自定义MailDir路径

嘿,不用折腾多个Postfix实例啦!你的需求完全可以用Postfix的虚拟邮箱映射功能搞定,比postmulti简单太多,我给你一步步讲清楚:

核心思路

我们要利用Postfix的virtual_mailbox_maps把每个「用户名@域名」组合直接映射到对应的自定义MailDir路径,再配合虚拟投递代理完成邮件存储,同时配置发件人身份映射确保能正常发信。

具体配置步骤

1. 声明负责的域名

首先在Postfix主配置文件/etc/postfix/main.cf里,告诉Postfix哪些域名是我们要处理的:

# 把目标域名设为虚拟邮箱域名
virtual_mailbox_domains = domain1.com domain2.com

2. 创建收件人到MailDir的映射表

新建一个映射文件,比如/etc/postfix/virtual_mailbox_maps,按你的需求填写条目:

user1@domain1.com   some/custom/MailDir/
user2@domain2.com   different/custom/MailDir/
user3@domain1.com   custom/user3/domain1/mail/
user3@domain2.com   different/user3/domain2/mail/

注意每个条目末尾的/很重要,Postfix会识别这是MailDir格式的路径。

然后生成Postfix能识别的哈希表:

postmap /etc/postfix/virtual_mailbox_maps

3. 配置投递规则

回到main.cf,添加以下配置,告诉Postfix怎么处理这些虚拟邮箱的投递:

# 指定使用virtual投递服务
virtual_transport = virtual
# 设置路径基准为根目录,让映射里的路径直接作为绝对路径生效
virtual_mailbox_base = /

4. 确保投递服务正常运行

检查/etc/postfix/master.cf里有没有virtual服务的条目,默认应该存在,如果没有就补上:

virtual   unix  -       n       n       -       -       virtual

5. 配置发件人身份验证(支持发邮件)

要让用户能从这些地址发邮件,需要把发件人地址和可登录的系统/SASL用户绑定。新建/etc/postfix/smtpd_sender_login_maps

user1@domain1.com   local_user1
user2@domain2.com   local_user2
user3@domain1.com   local_user3
user3@domain2.com   local_user3

这里的local_user1等是系统中存在的用户(或者你用SASL认证的用户名)。同样生成哈希表:

postmap /etc/postfix/smtpd_sender_login_maps

然后在main.cf里启用这个映射:

smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps
# 确保允许认证后的用户发信
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

6. 权限检查

最后别忘了给Postfix运行用户(通常是postfix)赋予这些MailDir路径的读写权限,比如:

chown -R postfix:postfix /some/custom/MailDir/ /different/custom/MailDir/ /custom/user3/ /different/user3/

为什么不用postmulti?

多个Postfix实例会大幅增加管理复杂度,比如要维护多套配置、日志,还要处理端口冲突等问题。而虚拟邮箱配置是Postfix原生支持的轻量方案,完全能满足你的需求。

重启Postfix让配置生效:

systemctl restart postfix

备注:内容来源于stack exchange,提问作者user10709800

火山引擎 最新活动