在 postfix 队列中的文件上修改电子邮件的收件人地址

mom*_*ier 8 email linux postfix

我的 mailq 中有几封电子邮件被退回是有原因的,电子邮件地址是错误的。我想知道是否可以即时修改收件人的地址。我可以看到存储延迟邮件的目录,我可能会在那里更改某些内容,但我想知道是否有正确的方法来执行此操作。

任何想法?

Tor*_*ian 10

最好的方法(或最少干扰的方法)是为该收件人重写地址。来自Postfix 地址重写

/etc/postfix/main.cf:
    smtp_generic_maps = hash:/etc/postfix/generic

/etc/postfix/generic:
    his@localdomain.local       hisaccount@hisisp.example
Run Code Online (Sandbox Code Playgroud)

按照这个例子,你可以尝试:

cd /etc/postfix
Run Code Online (Sandbox Code Playgroud)

添加到generic文件或使用以下命令创建它:

yourbadlyspelledname@destination.com        you_name@destination.com
Run Code Online (Sandbox Code Playgroud)

并构建关联的地图:

sudo postmap generic
Run Code Online (Sandbox Code Playgroud)

添加到main.cf

smtp_generic_maps = hash:/etc/postfix/generic
Run Code Online (Sandbox Code Playgroud)

使 Postfix 加载此配置更改:

sudo postfix reload
Run Code Online (Sandbox Code Playgroud)

smtpd将用于generic在下次扫描队列时重写有问题的地址。

  • 由于 smtp_generic_maps 应用于邮件*delivery*,因此无需重新排队邮件。smtp(8) 守护进程执行这个重写。 (3认同)
  • 不错,不要忘记在编辑 `/etc/postfix/generic` 后发出 `postmap /etc/postfix/generic`。 (2认同)