如何配置 exim 自动回复单个电子邮件帐户

如何配置 exim 自动回复单个电子邮件帐户

我在为单个用户电子邮件帐户设置自动回复时遇到了 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传输中,这样如果有人在短时间内向正在度假的人发送三封电子邮件,他们只会收到一条休假消息。请参阅自动回复传输的文档了解有关如何执行此操作的详细信息。

相关内容