sSMTP資料一覧

sSMTPインストール手順(Fedora)

2009/2/15更新

対応バージョン: 2.62-3

公式サイト

準備

導入に必要なもの

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に設定してログを調査する。

関連資料・記事