单个 SMTP 服务器用于多个原始域(使用 ssmtp)

单个 SMTP 服务器用于多个原始域(使用 ssmtp)

是否可以使用单个 SMTP 服务器 mail.domain1.com 从多个原始域(而不是 domain1.com)使用 ssmtp 发送经过身份验证的邮件?
如果可以,如果我使用 FromLineOverride=yes 设置 ssmtp,当最终用户在 web 服务器 domain-xy.com 上填写联系表单时,FROM、SENDER 和 REPLY-TO 标头会发生什么情况?
在这种情况下,垃圾邮件标记/过滤会怎样?

答案1

是的,我已经这样做了,效果很好。我有一个此处介绍 SSMTP 的教程,我将其关键部分复制如下。

发送电子邮件的应用程序需要正确设置标题。SSMTP 使用的电子邮件服务器需要针对这些域进行配置。请记住,SSMTP 不会直接将邮件发送到目标服务器,而是将其发送到您控制的电子邮件服务器,该服务器负责执行其他所有操作 - 至少据我所知,这就是我的使用方式。

下载我的配置

您可以从下载我的配置这一页

教程复制粘贴

以下是我教程的关键部分。我一年前做过这个,不记得细节了,所以我把它写下来。

SSMTP 安装

yum install ssmtp
usermod -a -G mail (username)    (adds you to the mail group)
alternatives --config mta    (choose SSMTP)
sendmail -V   (validate that it says something like "sSMTP 2.61 (Not sendmail at all)"
cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.orig    (this backs up the original config)
cp etc/ssmtp/revaliases /etc/ssmtp/revaliases.orig

修订别名

设置 ssmtp 的文件权限——你可能希望对 revaliases.conf 设置相同的权限

sudo chown root:mail /etc/ssmtp/ssmtp.conf
sudo chmod 640 /etc/ssmtp/ssmtp.conf
Now set up the ssmtp.ini

ssmtp配置文件

vi /etc/ssmtp/ssmtp.conf (set up as per guide)

确保配置了以下内容

root=postmaster
mailhub=mail.yourdomain.com:587
Hostname=localhost
FromLineOverride=YES
[email protected]
AuthPass=YourPassWord
UseSTARTTLS=YES

设置反向别名

vi /etc/ssmtp/revaliases

添加以下内容,当然要设置您自己的详细信息

root:[email protected]:mail.yourdomain.com:587

重写

现在设置如何重写电子邮件

vi /root/.muttrc

包括此信息

set envelope_from=yes
set from="[email protected]"
set realname="Prefer From Display"

测试

要测试这个,请使用如下命令

echo "Testing SSMTP." | mail -s 'SSMTP Test' [email protected]

答案2

当最终用户在 Web 服务器上填写联系表单时

绝对不能更改发件人地址,您只能从您控制、管理或有权发送的域发送电子邮件。填写的发件人字段只能更改回复字段。

相关内容