注意点
SendmailをsSMTPに入れ替えるのが有効なのは、ユーザが一人しかいないデスクトップPCの場合だ。ユーザが複数人いる場合にはsSMTPは使用しない方が良いかもしれない。というのもデフォルトでは、mailコマンドで送信されるすべてのメールが一人のユーザから送信されたものであるように見えるためだ。revaliasesという設定ファイルを追加して利用すれば、送信メールの特定のFrom: アドレスに対して特定のローカルユーザを割り当てて、特定のメールサーバ経由でそのメールを送るということは可能だ。しかし認証情報が必要なサーバの場合には、異なる認証情報を使用する異なるメールサーバ上で異なるログインをするように設定する方法というものは存在しない。つまりsSMTPでは、外部に送信するメールについて接続することができるリモートのMTAは基本的には一つだけと考えた方がいいだろう。
またシステム上の全ユーザがsSMTPを使用するためには全ユーザがssmtp.confファイルの読み取り権限を持っている必要があるということだが、誰でもが読むことのできる設定ファイル内にISPのログイン情報を書くということは、システム上の全ユーザがあなたのメールの認証情報を知ることができるということだ。繰り返すが、このことからも、sSMTPはシステム上にユーザが一人しかいないホームユーザにのみ向いていると言える。なおこの問題についてはユーザとグループを適切に設定した上でsSMTPをsetuidプログラムとして実行することで対処することもできるが、そのようなことをするのは、そもそもの目的であった、できるだけシンプルにするということに反することになるだろう。
sSMTPはSendmailの代わりになるが、完全に置き換わるわけではない。重要な違いの一つは、Sendmailとは違ってメールの受信を行うことはできないという点だ。メールをISPから受信して読むためには、メールリーダを使用する必要がある。
またsSMTPはメールのキューを管理しないため、送信メールを即座に配信しようとするという違いもある。なおsSMTPのマニュアルページでは、Sendmailがサポートしているものと同じコマンドラインオプションがすべて表記されているが、実際にはsSMTPはそれらのオプションのほとんどを無視するだけだ。
最後に、sSMTPの実装上、送信メールのヘッダの容量には制限が設けられている。そのため、あまりに長い受信者リストやあまりに長いサブジェクトは含めないようにしよう。多数の受信者に対してメールを送信する必要がある場合には、すべての受信者をコマンドラインで手動で列挙するのではなく、エイリアスを設定すれば良い。
sSMTPは、その名の通り「シンプル」だ。設定には最低限の作業しか必要ではなく、長期的な保守もほとんど(あるいはまったく)必要ない。とは言えsSMTPはあらゆるユーザにふさわしいわけではなく、マシン上にユーザが一人しかいない場合の、技術者ではないホームユーザに対して最大の価値を発揮する。そのようなユーザにとってsSMTPは、メール管理を向上させるための簡単な方法となり得る。
Michael J. Hammelは、コロラド州コロラドスプリングズを拠点とするCEI(Colorado Engineering, Inc.)のソフトウェアエンジニア長。ソフトウェア開発/管理における20年以上の経験があり、様々なオンライン/紙媒体の雑誌で100を越える記事を執筆してきた。GIMP関連の3冊を含む、オープンソース関連の複数の書籍の著者。
