Sendmail.mc:将所有收到的电子邮件别名为一个帐户

Sendmail.mc:将所有收到的电子邮件别名为一个帐户

我需要将来自另一个 SMTP 服务器的所有邮件别名化为这个帐户“myinbox”。如果有帮助的话,该系统将接收域上的所有电子邮件。http://william.shallum.net/random-notes/sendmailredirectallmailfordevelopment是解决方案开始的模板,但路线一切(包括外发邮件和内部邮件)发送到该帐户,并试图了解这些 R 规则如何工作让我头晕目眩。我认为答案在 sendmail.mc 中,而不是任何 Procmail 配置中。所以我认为我通常不希望过滤器执行的操作是:

  • 干扰任何外发电子邮件
  • 干扰任何内部电子邮件有时某些 cron 任务会导致“root”向“root”发送邮件。我不希望这些邮件进入我的收件箱。
  • 导致无限循环谁会这么做? 想到了退回邮件和任何 DSN。

我正在运行 Sendmail 8.13.1 和 Procmail 3.22。

答案1

您需要一个万能电子邮件帐户。sendmail 虚拟用户表允许您非常方便地设置它:

# sendmail.mc
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl

#  /etc/mail/virtusertable
#  makemap hash /etc/mail/virtusertable <  /etc/mail/virtusertable
# 
# <email address>      <local account>
@example.com          myinbox

只要您的主机名不是example.com从您的服务器内部发送的邮件消息就会被放到有效用户帐户的邮箱中。即mail -s test root会被投递到root的邮箱,应该进入我的收件箱。mail -s test [email protected]

相关内容