ssmtpを使ってroot宛のメールをgmailに転送したら便利杉ワロタ。

ssmtpとは。
Extremely simple MTA to get mail off the system to a mail hub

なんかね、20年近く前までは、sendmailの設定できるってだけで高給取りだったそうなんですよ。
だからqmailとかpostfixとか生まれたらしいんですがね、もうそんな設定の難しいソフトウェアはベースシステムから取っ払ってほしいんですよ。
で、ssmtpなら設定は簡単だし、gmailsmtp開放してるってんで、まあ入れてみた。
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


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。