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

sSMTPセットアップメモ(Gmail版)

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

FreeBSD 10.0 RELEASEにsSMTPをセットアップして、GmailのSMTPサーバを利用して、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_enambe="NO"
sendmail_msq_queue_enable="NO"
$ sudo killall sendmail

$ sudo pkg install ssmtp

However, before you can use the program, you should copy the files
"revaliases.sample" and "ssmtp.conf.sample" in /usr/local/etc/ssmtp
to "revaliases" and "ssmtp.conf" respectively and edit them to suit
your needs.


$ sudo vi /usr/local/etc/ssmtp/ssmtp.conf
root=*****@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=*****@gmail.com
AuthPass=********
UseSTARTTLS=YES
FromLineOverride=YES

パスワードを平文で記入しているので、パーミッションがどうなっているかチェック。

$ sudo ls -l /usr/local/etc/ssmtp/ssmtp.conf
-rw-r--r--  1 root  ssmtp  120  7月 19 09:10 /usr/local/etc/ssmtp/ssmtp.conf
$ cat /usr/local/etc/ssmtp/ssmtp.conf

を実行するとPermission deniedになるが、念のため、以下を実行

$ sudo chmod o-r /usr/local/etc/ssmtp/ssmtp.conf
$ sudo ls -l /usr/local/etc/ssmtp/ssmtp.conf
-rw-r-----  1 root  ssmtp  120  7月 19 09:10 /usr/local/etc/ssmtp/ssmtp.conf

テストメールの送付

$ echo "test mail"|ssmtp -v "test" *****@gmail.com

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

gmailとのコマンド送受信内容が表示される。最後の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 &

の部分を適宜変更する。

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

送信元メールアドレスを変更する場合に設定。エイリアスだと思ってたら違いました。https://packages.debian.org/ja/sid/ssmtpに、エイリアスの展開やキューの管理も行いません。と書いてありました。

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

$ sudo vi /usr/local/etc/ssmtp/revaliases

GMAILの場合、From行を、先に設定したAuthUserの設定値とは別のメールアドレスにしたい場合は、AuthUserのアカウントでGMAILにログインして、メールアドレスを追加しておく必要があります。詳しくは以下のWebページを参照。

https://support.google.com/mail/answer/22370?hl=en&ctx=mail

メールの送信テスト

root宛のメールの送信テスト。

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