Linux – Why does sendmail changes the FROM domain and how to configure the proper one

centoscentos7linuxsendmailsmtp

I installed Jenkins and configured it to send emails as being sent from "jenkins@jenkins.example.com" but the address is always changed when email is being sent and I receive the mail as being sent from "jenkins@default.vps.example.com".

I've installed Sendmail and Jenkins is configured to use 127.0.0.1 as mail server.

Any idea why Sendmail replaces the FROM domain when email is being sent?

The hostname of the server is properly set (when I run hostname I do get "jenkins.example.com").

Same way if I send an email from command line echo "This is the body" | mail -s "Subject" u@d.com

From where does it take this default.vps.example.com domain? Where is this default domain configurable?

LE: in my sendmail.mc I have define(confDOMAIN_NAME', jenkins.domain.com')dnl and I generated the sendmail.cf file m4 sendmail.mc > sendmail.cf and restarted sendmail. Still doesn't work.

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 . >
>

Best Answer

Quite likely your sendmail replaces names with DNS CNAME record (DNS alias) with "true names".

As root execute echo '3 jenkins@jenkins.example.com' | sendmail -d8.20 -bt
It should show you DNS queries during email address preprocessing (by rule set 3).

http://cr.yp.to/im/cname.html

D. J. Bernstein
CNAME records in mail
RFC 821 prohibited all use of ``nicknames or aliases'' in domain names in SMTP requests. RFC 1123 specifically prohibited DNS aliases (domains with CNAME records) in MAIL and RCPT requests.
sendmail accepts a domain with a CNAME record. It replaces the domain with the CNAME value before using it in RCPT, unless it is acting as a dumb client. Similar comments apply to qmail and other mailers.