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。