msmtp
自前でメールサーバーを持たない小規模なホスト向けのMTA(Mail Transfer Agent). daemonにならないので安全。
送信はsendmailコマンド互換で使える。外部からの受信はできない。
lrwxrwxrwx 1 root root 12 Oct 11 2019 /usr/sbin/sendmail -> ../bin/msmtp
/etc/msmtprc
gmail経由で送信する例。
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# tls_trust_file /etc/pki/tls/certs/ca-bundle.crt # CentOS
#logfile /var/log/mail.log
syslog LOG_MAIL
aliases /etc/aliases
account gmail
host smtp.gmail.com
port 587
from ********@gmail.com
user ********@gmail.com
password ********
account default : gmail
GmailのXOAUTH2認証を使う場合
root宛のメールがGoogle側でエラーになる
/etc/aliasで別アカウントに渡すように。
Apr 15 23:15:04 r6c msmtp: host=smtp.gmail.com tls=on auth=on user=********@gmail.com from=********@gmail.com recipients=root smtpstatus=553 smtpmsg='553-5.1.3 The recipient address <root> is not a valid RFC-5321 address. Learn\n553-5.1.3 more at\n553 5.1.3 https://support.google.com/mail/answer/6596 cx17-20020a17090afd9100b00246f76e8c04sm4485536pjb.40 - gsmtp' errormsg='recipient address root not accepted by the server' exitcode=EX_DATAERR
logfileを指定した場合、 /var/log/mail.log に書けなくてエラーになることがある。
どう修正するのがいいんでしょうね。syslog LOG_MAIL にして、 logfileをコメントアウトして逃げたけど。
-rw-r----- 1 syslog adm 282 Nov 28 23:00 /var/log/mail.log
-rwxr-sr-x 1 root msmtp 122544 Oct 11 2019 /usr/bin/msmtp
apparmor の設定と競合しているらしい