Setting 'From' header for cron email using msmtp
I've got msmtp setup on Ubuntu 10.10 so that cron can send me emails. That works like a champ, for the most part.
However, emails coming to my gmail account show up as coming from (unknown sender), and the headers show:
From: root (Cron Daemon)
How can I set the From header to a valid email address?
I've just got msmtp symlinked as /usr/sbin/sendmail
The one possible solution I've found is here: http://tech.bluesmoon.info/2010/01/pretty-print-cron-emails.html
However, I'm curious if there's a simpler way.
I've found two solutions:
- With msmtp 1.8.8 or later (appeared in Ubuntu 20.10), use the
set_from_header on
configuration setting, which can override the existingFrom:
unlike the earlieradd_missing_from_header
which could only add it when missing - With earlier versions (e.g. Ubuntu 20.04),
- remove the
msmtp-mta
package, now useless, - create a two-line script rewriting the header, e.g.
/usr/local/bin/msmtp-pseudo-mta.bash
- remove the
#!/bin/bash
# Workaround until mtmsp >= 1.8.8 in Ubuntu 20.10.
sed -e "s/From: root (Cron Daemon)/From: WHATEVER YOU LIKE/" | msmtp $BASH_ARGV
-
- make it executable, e.g.
chmod 755 /usr/local/bin/msmtp-pseudo-mta.bash
- symlink it as sendmail:
- make it executable, e.g.
sudo ln -s /usr/local/bin/msmtp-pseudo-mta.bash /usr/sbin/sendmail
Idea from: https://serverfault.com/a/441414/17379
No problem. Just configure it like mentioned in the manual: http://msmtp.sourceforge.net/doc/msmtp.html#Envelope_002dfrom-address
maildomain example.com
should add example.com to all mails without domain set.