有没有办法全部系统用户是否能被 sendmail 信任,而无须手动将所有用户名添加到 /etc/mail/trusted-users?
或者更好的是,我可以不定义“受信任的用户”,而是定义“受信任的组”,然后将用户添加到该组中吗?
一些背景知识:
我们在单个 CentOS 服务器上托管了多家小型企业的网站。有时这些网站需要向企业主发送邮件。我们使用第三方 SMTP 服务来发送这些电子邮件。如果不进行任何配置,信封“发件人”地址如下所示:
我们没有为所有这些地址设置邮箱。我想将它们重写为
这是我设置的真实邮箱,我会监控邮件退回等情况。
所有网站都通过 PHP 发送邮件,因此我在 php.ini 文件中添加了以下内容:mail.force_extra_parameters = -f[电子邮件保护]
这意味着信封地址按我想要的方式重写,但所有电子邮件在发送时标题中都带有身份验证警告,因为用户不在 sendmails 的“受信任用户”列表中。我不想手动维护列表。我只希望所有用户默认为“受信任”。
如果你能帮助我,我将不胜感激。
答案1
X-Authentication-Warning:
对于所有本地提交的消息,否
X-Authentication-Warning:
您可以通过authwarnings
从中删除PrivacyOptions
来关闭附加标题/etc/mail/submit.cf
。[ submit.cf
,不是 sendmail.cf
]
在submit.mc
后面添加以下行FEATURE(msp,...)
并编译新submit.cf
:
define(`confPRIVACY_FLAGS', `noexpn,novrfy,noverb,needmailhelo,needvrfyhelo,nobodyreturn,,noetrn,restrictqrun')
上面那行重复了 confPRIVACY_FLAGS 的设置,从的扩展替换中删除FEATURE(msp)
了。authwarnings
goaway
答案2
在您的情况下,“每个站点使用不同的(系统)用户发送邮件”,这与大多数常见配置不同。
您可以使用FEATURE(generictable)
和FEATURE(masquerade_envelope)
使用一对一映射重写特定的发件人地址。