Debian系统下邮件发送方地址无法正常更新问题咨询
问题根因
发件人地址显示异常核心由两类问题导致:
- 部分测试命令存在语法错误,收件人地址包含两个
@属于非法格式,触发邮件传输代理默认地址重写规则 - 系统邮件传输代理默认未配置正确的业务域名,发件人地址未携带域名时会被自动填充系统生成的guid作为后缀
解决方案
1 先执行正确格式的测试命令
不同发行版的mail命令对-r参数的支持度存在差异,优先使用兼容性更高的追加邮件头写法:
echo "Hello there" | mail -s "Test Mail" -a "From: IROL-Admin <xyz@company.com>" receiver@company.com
注意收件人地址只能包含一个@,带显示名的发件人地址需要用尖括号包裹邮箱地址。
2 修改邮件传输代理配置修复重写问题
根据当前使用的邮件服务选择对应配置:
Postfix服务
编辑/etc/postfix/main.cf文件,修改以下参数:
myhostname = company.com mydomain = company.com myorigin = $mydomain local_header_rewrite_clients =
修改完成后执行systemctl restart postfix重启服务生效。
Sendmail服务
编辑/etc/mail/sendmail.mc文件,新增以下配置:
define(`confDOMAIN_NAME', `company.com')dnl MASQUERADE_AS(`company.com')dnl FEATURE(`masquerade_envelope')dnl FEATURE(`allmasquerade')dnl
执行m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf生成新配置文件,再执行systemctl restart sendmail重启服务生效。
3 验证配置
发送测试邮件后查看邮件原始头信息,确认From字段和信封发件人都为xyz@company.com即配置生效。
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

