orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

qmailの現在地

f:id:orangeitems:20191008171457j:plain

 

qmail・・なつかしい

私がLinux&インターネット界にデビューしたときには、sendmailというメールサーバーは標準なんだけど、やたら使いにくくてわかりにくくて、そしてがんばった割にはスパムの踏み台にされて大変だから使わないほうが良いよ。qmailというのがあるからこれ使えばいいよなんていう時代でした。

ただその後あまり時間を経ずに、いやpostfixでしょみたいな雰囲気になり、決定的なのはRedHat Enterprise Linuxがqmailを切り捨てたことで今はpostfixが私の中の最強メールサーバーとなっています。

 

access.redhat.com

 

UbuntuやDebianではEximというメールサーバーを標準としているようですが、もっぱら仕事では、RHELかCentOSなんていう日々が続いていますので、もう盲目的にyum install postfixからの「postfix centos 設定」をググってメールサーバーを作っています。

qmailを一度本番環境で使った思い出はあるのですが、結構導入が大変だったうっすらした記憶があります。

 

qmailが話題に

下記の記事でqmailが話題に。

jp.quora.com

qmailという、極端にバグが少なく、安全で高速なSMTPのサーバーがあります。いまはシェアを落としていますが、数年間放置しておいても安定して長期間動くので、まだまだ現在も使われています。

このCソースはすごいですよ。putsやprintf, fopenなどの標準Cライブラリの関数は安全ではないという理由で使わず、すべてsubstdioという、stdioのサブセットを独自実装しています。こんなことは普通はしないですね。

(中略)

qmail 1.03は、10年ぐらいのあいだ、まともなバグを見つけることを誰もできませんでした。DJBはバグを見つけた人に賞金を出すといっていました。その後致命的ではないバグが一つ見つかったようですが。。

 

この記事だけ見ると少し誤解が生まれるかもしれなくて、qmail 1.03は長い間バージョンアップされなかったものでたくさんのパッチファイルが生まれて、足りない機能はパッチが補ってきました。

したがってちゃんとqmailを構築しようとしたら、かなりのゴニョゴニョした作業が必要となる状況でした。

 

例えばまだインターネッツに残っているqmailインストール方法を探ると、やはりパッチ適用が前提となってきます。これでも最低限のパッチだと思います。

 

pocolog.bass-world.net

パッチを当てて、error.h を修正
# patch < qmail-date-localtime.patch
# patch < qmail-smtpd-relay-reject
# patch < auth.patch
# patch < qmail-103.patch

# vi error.h

extern int errno;

#include<errno.h>

# make setup check

 

 

qmailの状況を今でも追っている方がいらっしゃって、下記はためになります。

blog.osakana.net

1998年6月リリースのqmail v1.03に対するパッチをまとめたnetqmail がv1.04として2003年10月にリリースされた。しかし、netqmailは2007年11月のv1.06を最後に更新が無くなった。

今回、qmailでもnetqmailでもないものとして、notqmailがv1.07としてリリースされた。

 

むむむ、netqmailなるものが最近立ち上がったと。ニュースにもなっています。

まだ二か月前の話です。

 

thinkit.co.jp

qmailの後継メール転送エージェント(MTA)「notqmail」の開発プロジェクトが(2019年)8月20日(現地時間)、活動開始を発表した。

 「qmail」はDaniel Julius Bernstein氏が作成したMTA。1998年以来アップデートは提供されておらず、以降qmailから派生したMTAが複数公開されている状態となっていた。「notqmail」は、複数存在するqmail派生ソフトウェアをまとめるものと位置づけられ、安定性や互換性を重視したソフトウェアとして開発を進める方針だとしている。

 

今の状況

ということで2019年。一度火が消えかけたと思われたqmailは、有志の手によって蘇りつつあります。

「極端にバグが少なく、安全で高速なSMTPのサーバー」という触れ込みは当時のものですがさすがに今これを使うのは状況的にナンセンスだと思います。

まだシェアがあるのは、長生きしている物理サーバーが多いことの裏返しだと思います。保守が終わっても動くからって放置されている大昔のサーバーが意外とインターネットにはまだまだたくさんあるということ。

まあそもそも、メールの仕組み。SMTPやPOP3、IMAPといった仕組み自体がもう古くて古くて、とりあえずたくさんのトランザクションをクラウドベンダーに引き取ってもらい、GMailやOffice365に吸い込ませたけれど、まだメール文化は続くのですかね・・。

次世代メッセージングプロトコルがそろそろ世の中に出てきてもいいころだと思うのですがいかがでしょうか。