Sendmailは
UNIXで古くから使われてきた
メールサーバソフトウェア。
現在では、ほぼ
SMTPが標準の座を勝ち取っているが、1980年代から1990年代にかけて、数多くの企業や研究機関により、様々な
電子メールプロトコルと、それらを
実装した独自仕様の
電子メールシステムが乱立していた。Sendmailは、それらの乱立する各種
プロトコルを相互変換し、橋渡しする目的で登場したのがはじまりで、
電子メールプロトコルよりも底層に位置する
通信プロトコルも、現在
インターネットの普及により一般的になった
TCP/IPだけでなく、
パソコン通信が主流であった時代のUUCPなど、様々なものに対応している。また、その柔軟性の代償として
セキュリティホールが多く見つかっている。
特に設定
ファイルが複雑で、通常はまず mc
ファイルという m4
マクロ言語で記述してから実際の
ファイル (cf) を生成する。
Sendmailプログラム本体は、パターンマッチルールによって動作する
オートマトンと、
MTA動作を支援するユーティリティである。
MTAとしての動作そのものは、
sendmail.cfに記述された複雑で莫大な量のパターンマッチルールによって実現している。
その複雑さと
セキュリティホールのできやすさを改善するために、いくつか代替の
メールサーバも開発されている。
なお、SendmailにはOpen Source版と商用版があり、商用版ではimap/pop
サーバを構築することのできる Sendmail Advanced Server という製品がある。
商用版では設定方法に
GUIを利用でき、
GUI上から設定内容を反映することができる。
柔軟性と引き換えに設定方法の複雑さが増しているため、商用
サポートや商用版により複雑さを取り除くオプションが用意されているとも言える。
商用版では、
メールの送信速度も改善されている。
また、新たにまったく構造を作り直した次世代の
sendmail として Sendmail X が開発されていたが、こちらは
Postfix とほぼ同じ構造であるため、存在意義が疑問視されている。なお、Sendmail XはMeTA1と改名された。
SendmailではMilterAPIを
サポートしているため、Milter
APIで作成された
プラグインを容易に利用することができる。
有名なOpenSource Milterとしてはspamassassinがあり、商用Redhat系製品では標準的に用意されている。
スパム対策、ウィルス対策、コンプライアンス対策、
メールアーカイブなど、Milterによって実現可能な領域が広がっている。
商用の製品としては Mailstream Managerという製品を導入することで商用のMilter
プラグインを利用できる。