sSMTP 資料一覧
2009/2/15更新
対応バージョン: 2.62-3
公式サイト
http://packages.debian.org/source/sid/ssmtp
準備
導入に必要なもの
ssmtp_2.62.orig.tar.gz
ssmtp_2.62-3.diff.gz
導入OS
Fedora 10
関連資料・記事
デフォルトでインストールされているSendmailの無効化
まず、既にサービスが起動していれば停止する。
% sudo service sendmail stop
次にサービスを無効にする。
% sudo chkconfig sendmail off
sendmailのシンボリックリンクを削除する。
% sudo rm /usr/sbin/sendmail
(*) /usr/sbin/sendmailは/etc/alternatives/mtaにリンクしており、/etc/alternatives/mtaはさらに/usr/sbin/sendmail.sendmailにリンクしている。
インストール
配布ファイル展開
% gunzip ssmtp_2.62-3.diff.gz % tar zxvf ssmtp_2.62.orig.tar.gz % cd ssmtp % patch -p1 < ../ssmtp_2.62-3.diff
make,インストール
% ./configure % make % sudo make install : Mail name [foo.bar.com]: ***.***.*** ← メール送信元ホストを指定 Please enter the SMTP port number [25]: ← SMTPポート番号を指定 ここで設定した内容は/usr/local/etc/ssmtp/ssmtp.confに保存される。
各種プログラムでsendmailが呼び出された時にssmtpを実行するようにする。
% sudo ln -s /usr/local/sbin/ssmtp /usr/sbin/sendmail
インストール物 (man,infoは除く)
/usr/local/sbin/ssmtp /usr/local/etc/ssmtp/revaliases /usr/local/etc/ssmtp/ssmtp.conf
各種設定
/usr/local/etc/ssmtp/ssmtp.confにて設定を行う。
以下、主な設定項目について説明する。
root=<メールアドレス>
UIDが1000未満のシステムアカウント宛のメールが送信される場合の宛先メールアドレスを指定する。
root宛に送信されるcronジョブの実行結果などを送る場合に利用する。
デフォルトはpostmaster。
省略するとメールアドレスの書き換えは行われない。
ドメインを省略した場合はhostname=の設定が補完される(rewriteDomain=が設定されていればそちらが優先される)。
例)
root=foo@bar.com
mailhub=
メール送信先のSMTPサーバを指定する。
ポート番号が25以外の場合はコロンに続けてポート番号を指定する。
ドメインを省略した場合は自ホストのドメインが補完される。
デフォルトはmail。
例)
mailhub=mail.bar.com:8025
rewriteDomain=<ドメイン>
送信元を別ドメインに見せかける場合にそのドメインを指定する。
デフォルトは未設定。
hostname=<ホスト>
メール送信元ホストを指定する。
デフォルトはインストール時に指定したホストが記述されている。
FromLineOverride=
From:ヘッダの送信元アドレスを変更するかどうかを指定する。
YESを指定するとアドレスは書き換えず、YES以外を指定すると実際に送信したユーザに書き換える。
設定と動作が逆に見受けられるので注意が必要である。
デフォルトはYES以外。
Debug=
YESを指定するとSMTPサーバとのやりとりがログに出力される。
sSMTPがうまく動作しない場合の調査に便利である。
デフォルトはYES以外。
その他の設定項目
上記設定の他にSSL通信やSMTP AUTHに関する設定などがあるがここでは割愛する。
なお、SSL通信を行う場合はconfigure時に--enable-sslを指定しておく必要がある。
関連資料・記事
動作確認
テストメール送信
例えばメールサーバが「smtp.bar.com」の場合、まずssmtp.confを以下のように設定する。
root=foo mailhub=smtp.bar.com FromLineOverride=YES
次に以下のようなメール文を作成する。
To: foo@bar.com From: foo@bar.com Subject: sample sample
これをsendmail(実際にはssmtp)に渡してメールが送られていればよい。
/usr/sbin/sendmail -t < mail.txt
送られていない場合はssmtp.confのDebug=をYESに設定してログを調査する。
関連資料・記事