我需要一种方法来配置 sendmail,将每条消息的信封发件人设置为固定值(例如 foo@bar.com)。请注意,任何 MASQUERADE 功能/宏(据我所知)都没有回答这个问题:我还想覆盖信封用户并将其设置为固定值。
编辑:另外,我不想伪装标头发送者。所以 GENERICSTABLE + MASQUERADE_ENVELOPE 也不会削减它。我需要的是相当于命令行sendmail -f foo@bar.com
(理由:我被客户强迫通过一个身份验证中继,该中继坚持拥有给定的信封发件人地址 - 不,我并不是试图规避任何反垃圾邮件措施,我只是想发送 root 的邮件 - 以及其他管理内容 - 异地。它是一个应用程序服务器,所有邮件均由服务器发起,但发件人地址仍然需要有意义)
TIA。
它可以通过使用丑陋但非常简单的 hack 来实现。将其放在文件MAILER(smtp)
中sendmail.mc
并生成新sendmail.cf
文件。行前必须有
一个制表符 (\t) 。取消 的效果。$:
R
divert(0)
MAILER_DEFINITIONS
MAILER_DEFINITIONS
SEnvFromSMTP
R$+ <@foo.org.> $: john.doe <@example.net.>
divert(0)
Run Code Online (Sandbox Code Playgroud)
它在处理所有基于 smtp 的邮件程序的信封发件人地址的规则集末尾添加了额外的重写。R 行将所有 *@foo.org 地址重写为 john.doe@example.net
您可以使用以下脚本对其进行测试:
/usr/sbin/sendmail -bt <<END
/tryflags es
/try esmtp xyz@foo.org
END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13681 次 |
最近记录: |