我已经在 Debian9 上安装并配置了 Exim4。在我添加用于自动回复的路由器/传输之前,一切正常。
我添加了这些字段:
[路由器部分]
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
[运输部分]
vacation_reply:
driver = autoreply
当我添加这些内容时,我无法解析在 hos 主文件夹中具有 .vacation.msg 的用户,并且当执行“exim -bt[电子邮件保护]“我得到:
[email protected] cannot be resolved at this time: error in redirect file: missing or malformed local part (expected word or "<") in "body text of file vacation.msg"
知道是什么原因导致了这个错误吗?
答案1
设置file =
包含过滤规则的文件,这些规则由allow_filter
指令启用。您可以将该file =
行移动到 vacation_reply 传输,在那里它确实配置要发送的回复内容,但使用过滤文件提供了更大的灵活性,这是我的偏好。
该过滤文件应类似于:
# Exim filter
if personal
then vacation
from "[email protected]"
subject "automatic reply: out of office"
once .vacation.once
once_repeat 5d
endif
personal
检查收件人的电子邮件地址是否在标题中(例如,它不是邮件列表)。
vacation
处理发送回复消息。该once
文件记录已发送回复,以便不会在该行指定的 5 天内向同一地址发送多条消息once_repeat 5d
。
提示:不要指定return message
或使用原始主题作为休假消息主题的一部分,因为这可能会被滥用来分发垃圾邮件。