コンピュータ/ソフトウェア関連Tips

sSMTPセットアップメモ

作成日: Jul 19, 2014
カテゴリー: FreeBSD タグ: FreeBSD

FreeBSD 10.0 RELEASEにsSMTPをセットアップして、root宛メールを指定したメールアドレスに送信するようにしたときのメモです。

この記事は、FreeBSDセットアップメモの一部です。

http://log.brandonthomson.com/2010/10/freebsd-use-gmail-instead-of-sendmail.htmlを参考にしました。

/etc/rc.conf に以下を追加。

$ sudo vi /etc/rc.conf

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
$ sudo killall sendmail
$ sudo pkg install ssmtp
$ sudo vi /usr/local/etc/ssmtp/ssmtp.conf
root=*****@host.example.com
mailhub=mailhub.example.com
FromLineOverride=YES

送信元メールアドレスの書き換え設定

筆者が利用しているISPは、FromがISPから割り当てられたメールアドレスになっているメールしか配送してくれないので、送信元メールアドレスの書き換えを行う設定をしました。

$ sudo cp /usr/local/etc/ssmtp/revaliases.sample /usr/local/etc/ssmtp/revaliases

$ sudo vi /usr/local/etc/ssmtp/revaliases
hoge:assigned-id@isp.example.com
root:assigned-id@isp.example.com

revaliasesには、local_account:outgoing_address:mailhub形式で記述します。(最後の、mailhubは、ssmtp.confで設定したホストと同一の場合は省略可能のようです)。

メールの送信テスト

$ echo "test mail"|ssmtp -v "test" *****@host.domain

*****@host.domainの部分は、自分のメールアドレスを記入。

mailhubで指定したホストとのコマンド送受信内容が表示される。最後の3行が、以下のようになっていればOK。

[<-] 250 2.0.0 OK
[->] QUIT
[<-] 221 2.0.0 closing connection

250は正常終了を意味する。

mailer.confの修正

$ sudo cp /etc/mail/mailer.conf /etc/mail/mailer.conf.original
$ sudo vi /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/libexec/sendmail/sendmail
purgestat       /usr/libexec/sendmail/sendmail

rootユーザーのフルネームを変更する

rootユーザーのフルネームが「Charlie &」になっている。

$ sudo chpass root
Full Name: Charlie &

の部分を適宜変更する。

root宛メールの送信テスト

$ echo "This is a test mail."|mail -v -s "test mail" root