ssmtpとは。
Extremely simple MTA to get mail off the system to a mail hub
なんかね、20年近く前までは、sendmailの設定できるってだけで高給取りだったそうなんですよ。
だからqmailとかpostfixとか生まれたらしいんですがね、もうそんな設定の難しいソフトウェアはベースシステムから取っ払ってほしいんですよ。
で、ssmtpなら設定は簡単だし、gmailがsmtp開放してるってんで、まあ入れてみた。
root宛にメールを送れば、自分のスマホにメールが届くというのは便利杉で驚いた次第。
事前準備: sendmailよRIP
まずsendmailを止める。
# /etc/rc.d/sendmail stop
sendmailが次回以降も起動しないように/etc/rc.confに以下を追記。
君にはお世話になった。
#vi /etc/rc.conf
(以下を追記)
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
ssmtpをインストール
# cd /usr/ports/mail/ssmtp
# make install clean
# make replace
最後のreplaceは/etc/mail/mailer.confを修正して、sendmailをssmtpに置き換えてくれる。
sendmailは他のたくさんのプログラムがアクセスするからね。
/etc/mail/mailer.confを見ると、何が変わったかがわかる。
make replace後の/etc/mail/mailer.confの内容
#sendmail /usr/libexec/sendmail/sendmail
#send-mail /usr/libexec/sendmail/sendmail
#mailq /usr/libexec/sendmail/sendmail
#newaliases /usr/libexec/sendmail/sendmail
#hoststat /usr/libexec/sendmail/sendmail
#purgestat /usr/libexec/sendmail/sendmail
sendmail /usr/local/sbin/ssmtp
send-mail /usr/local/sbin/ssmtp
mailq /usr/local/sbin/ssmtp
newaliases /usr/local/sbin/ssmtp
hoststat /usr/bin/true
purgestat /usr/bin/true
補足。 pkgからインストールした場合には、もちろんmake replaceが使えない。 その場合には面倒でも手動で書き換える。 書き換え個所は上記の通りで問題ないはずだが、心配なら以下から最新のMakefileを見れば分かる。 https://svnweb.freebsd.org/ports/head/mail/ssmtp/Makefile?view=log ここの最新版をViewして「replace」を見ればよい。 例。
55 replace:
56 @${REINPLACE_CMD} -e 's,^[^#],#&,g' ${MAILERCONF}
57 @${ECHO_CMD} "sendmail ${PREFIX}/sbin/ssmtp" >> ${MAILERCONF}
58 @${ECHO_CMD} "send-mail ${PREFIX}/sbin/ssmtp" >> ${MAILERCONF}
59 @${ECHO_CMD} "mailq ${PREFIX}/sbin/ssmtp" >> ${MAILERCONF}
60 @${ECHO_CMD} "newaliases ${PREFIX}/sbin/ssmtp" >> ${MAILERCONF}
61 @${ECHO_CMD} "hoststat /usr/bin/true" >> ${MAILERCONF}
62 @${ECHO_CMD} "purgestat /usr/bin/true" >> ${MAILERCONF}
ssmtpの設定
ここでroot宛のメールをgmailに転送する設定をする。
/usr/local/etc/ssmtp/ssmtp.confを作成
root=youremail@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=youremail@gmail.com
AuthPass=yourpassword
UseSTARTTLS=YES
実験
$ mail -v root
Subject: <件名を入れる>
適当な本文
(Ctrl+Dを押す)
これでOK。