我在为单个用户电子邮件帐户设置自动回复时遇到了 exim 配置问题。目前,我的 exim 自动回复配置如下,它导致自动回复电子邮件发送到所有用户帐户,而不是一个:
在路由器配置部分:
uservacation:
driver = redirect
allow_filter
hide_child_in_errmsg
ignore_eacces
ignore_enotdir
reply_transport = vacation_reply
no_verify
require_files = /var/spool/exim/.vacation.msg
file = /var/spool/exim/.vacation.msg
user = exim
group = exim
unseen
在传输配置部分:
vacation_reply:
driver = autoreply
有人能指导我如何为单个电子邮件帐户配置 exim 自动回复吗?
答案1
require_files = /var/spool/exim/.vacation.msg
这意味着如果该文件不存在,路由器将拒绝。如果该文件存在,它将接受该消息并进行处理。
file = /var/spool/exim/.vacation.msg
这是传输的一个参数,告诉它使用哪个文件进行自动回复。
由于您使用的是系统范围的自动回复消息,因此您有一个带有全局消息的全局开/关开关。显然您不希望这样。
相反,这样做:
uservacation:
driver = redirect
check_local_user
allow_filter
hide_child_in_errmsg
ignore_eacces
ignore_enotdir
reply_transport = vacation_reply
no_verify
require_files = $home/.vacation.msg
file = $home/.vacation.msg
unseen
也就是说,删除user=
和group=
配置选项,添加check_local_user
一个,并用作$home/.vacation.msg
包含用户休假消息的文件。
这样,用户可以创建一个文件~/.vacation.msg
来创建自动回复,如果不再需要自动回复,他们可以将其删除。
您可能还想将once
配置添加到vacation_reply
传输中,这样如果有人在短时间内向正在度假的人发送三封电子邮件,他们只会收到一条休假消息。请参阅自动回复传输的文档了解有关如何执行此操作的详细信息。