You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Sendmail将所有邮件转发至另一主机?

如何配置Sendmail将所有邮件转发至另一主机?

我来帮你搞定这个配置!结合你提到的场景——Ubuntu主机有example.com的公网A记录,MX记录已经指向Google Workspace,网页应用依赖Sendmail发送表单邮件,而且你已经在Google那边开启了MTA中继并把服务器的IPv4加入了白名单,接下来咱们一步步配置Sendmail:

第一步:设置Sendmail的转发目标(智能主机)

先打开Sendmail的配置模板文件:

sudo nano /etc/mail/sendmail.mc

找到这一行(可能是空的或者有默认值):

define(`SMART_HOST', `')dnl

把它改成Google的中继服务器地址,这样Sendmail就知道要把所有外发邮件都交给这个中继处理:

define(`SMART_HOST', `smtp-relay.gmail.com')dnl

改完后保存退出编辑器。

第二步:生成实际生效的配置文件

Sendmail不认.mc格式的模板,得转换成它能读懂的.cf文件,执行这条命令就行:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

第三步:调整本地域名规则(避免本地投递)

编辑local-host-names文件,检查里面有没有你的域名example.com:

sudo nano /etc/mail/local-host-names

如果有这一行,直接删掉它——这样Sendmail就不会尝试在本地投递example.com的邮件,而是全部转发到咱们设置的中继主机。

第四步:重启Sendmail让配置生效

用systemd命令重启服务:

sudo systemctl restart sendmail

要是你的Ubuntu版本比较老,换成这条:

sudo service sendmail restart

第五步:测试配置是否正常

咱们用命令行发一封测试邮件验证下:

echo "这是来自Ubuntu主机的测试邮件,用于验证Sendmail中继配置" | sendmail -v your-test-email@xxx.com

加上-v参数能看到详细的发送过程,要是配置没问题,你很快就能在测试邮箱收到这封信啦。

这样配置完之后,你的网页应用通过Sendmail发送的表单邮件,就会自动转发到Google的MTA中继,再由Google Workspace完成最终的邮件投递~

备注:内容来源于stack exchange,提问作者Armen Michaeli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:29:37