我们正在运行带有 postfix mta 的邮件服务器。但现在我们正转向 EXIM,因为它内置了许多功能,无需使用邮件过滤器。
在 postfix 中,你可以通过创建一个文件(比如 /etc/nonsysmail.txt)并在其中输入如下简单的行来轻松地向非系统用户发送邮件:
[email protected] nonsysmail/nonsystemUserA/
[email protected] nonsysmail/nonsystemUserB/
[email protected] nonsysmail/nonsystemUserc/
*@mail.virtual.host nonsysmail/nonsystemUserAll/
postmap /etc/nonsysmail.txt
有没有办法使用纯文本文件来实现 EXIM 的相同功能。我不允许在那里使用 mysql db。有人可以建议我使用非系统虚拟用户和 EXIM mta 的完整程序吗?
答案1
这取决于你具体的 exim 配置,但它可以归结为在传输之后添加额外的传输real_local
,例如:
virtual_local:
driver = accept
domains = +local_domains
local_parts = lsearch;/etc/exim/virtual_users
transport = virtual_maildir
这将在给定的文件中查找名称,如果找到,则使用命名的传输来传递消息;如果没有找到,则处理将传递到下一个路由器。
运输过程virtual_maildir
将是这样的:
virtual_maildir:
driver = appendfile
maildir_format
create_directory = true
directory_mode = 0700
directory = /var/spool/virtmail/$local_part
# or: directory = lsearch;/etc/exim/virtual_users
user = virtmail
group = virtmail
mode = 0660
mode_fail_narrower = false
return_path_add
envelope_to_add
delivery_date_add
可能需要对一些事情进行一些调整,这是即兴的。exim 的调试输出非常适合追踪问题;用于调试交付中的所有内容
exim -bv -d+all [email protected]