我安装了 Jenkins 并将其配置为发送电子邮件,发送方为“[电子邮件保护]“但发送电子邮件时地址总是会更改,并且我收到的邮件是从”[电子邮件保护]“。
我已经安装了 Sendmail,并且 Jenkins 配置为使用 127.0.0.1 作为邮件服务器。
知道为什么 Sendmail 在发送电子邮件时会替换 FROM 域吗?
服务器的主机名已正确设置(当我运行时hostname
我确实得到了“jenkins.example.com”)。
同样,如果我从命令行发送电子邮件echo "This is the body" | mail -s "Subject" [email protected]
这个域名从哪里获取default.vps.example.com
?这个默认域名在哪里可配置?
LE:在我的 sendmail.mc 中,我有define(
confDOMAIN_NAME,jenkins.domain.com')dnl
我生成了 sendmail.cf 文件m4 sendmail.mc > sendmail.cf
并重新启动了 sendmail。仍然不起作用。
LE2:
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> canonify input: jenkins @ jenkins . example . com
Canonify2 input: jenkins < @ jenkins . example . com >
dns_getcanonname(jenkins.example.com, trymx=1)
dns_getcanonname: trying jenkins.example.com. (AAAA)
YES
dns_getcanonname: trying default.vps.example.com. (AAAA)
NO: errno=0, h_errno=4
dns_getcanonname: trying default.vps.example.com. (A)
YES
dns_getcanonname: default.vps.example.com
Canonify2 returns: jenkins < @ default . vps . example . com . >
canonify returns: jenkins < @ default . vps . example . com . >
>
答案1
您的 sendmail 很可能用CNAME
“真实名称”替换带有 DNS 记录 (DNS 别名) 的名称。
以 root 身份执行 它应该向您显示电子邮件地址预处理期间的 DNS 查询(通过规则集)。echo '3 [email protected]' | sendmail -d8.20 -bt
3
DJ伯恩斯坦
邮件中的 CNAME 记录
RFC 821禁止在 SMTP 请求中的域名中使用任何“昵称或别名”。RFC 1123特别禁止在 MAIL 和 RCPT 请求中使用 DNS 别名(具有 CNAME 记录的域)。sendmail
接受具有 CNAME 记录的域。它会在 RCPT 中使用该域之前用 CNAME 值替换该域,除非它充当哑客户端。类似的评论适用于 qmail 和其他邮件程序。