QuickMLとsendmailを同一ホストに共存させる

川俣吉広, kaw@on.rim.or.jp
2002年 12月 20日

QuickMLは、 メールサーバの管理者の手を煩わすことなく手軽にMLを 運用できるようで、仕事でもプライベートでも便利に活用できそうです。 このQuickMLを是非ともインストールして使ってみようと思いました。

QuickMLは、通常の使用方法ではメールの配送を他のホストに任せるようになっ ています。

また、同一ホストでQuickML とメールの配送プログラム(MTA)を共存させる方法も公開されており、MTAとしてqmailとPostfixを 使用した場合の設定方法が紹介されています。

sendmail派の私としては、QuickMLとsendmailの共存もやってみたいと思い、 色々と試行錯誤した結果、同一ホスト上での運用が実現できたので、 その方法をこのページで紹介します。

このページの記述内容は、Plamo Linux 1.2 (Plamo/98), sendmail-8.12.6 で動作確認を行いました。

おことわり

このページで解説する内容は、川俣吉広が独自に調査した結果を公開したものです。
ページの記述内容は正確を期すように努めておりますが、 記述内容を実行したことにより損害が発生しても当方では責任を負いかねますので、 実際の作業については各自の責任で行って下さい

また、以下の説明はsendmailのインストールと設定についてソースパッケージからデフォルトでの インストールが行える程度の技術スキルを前提としています。


QuickMLのインストールと設定
sendmailの設定変更

sendmailのaccess_db機能とmailertable機能が有効になっていることを確認します。

cfを使ってsendmail.cfを生成している場合は、 元となる .mc ファイルに以下のような記述を行います。
FEATURE(`access_db')dnl
FEATURE(`mailertable')dnl
 
sendmail.cfに以下のメーラ定義を追加します。
Mquickml,       P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
		T=DNS/RFC822/SMTP,   ← 行頭はタブ文字
		A=TCP $h 10025       ← 行頭はタブ文字、10025はQuickMLがListenするポート番号
 
cfを使う場合は、元となる .mc ファイルに以下のようにメーラ定義を追加し、 .cfファイルを生成します。
 .... FEATURE行など ....
         :
MAILER_DEFINITIONS
Mquickml,       P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
		T=DNS/RFC822/SMTP,
		A=TCP $h 10025
         :
 .... MAILER行など ....
 
quickmlサーバへの配送経路を指定するため、mailertableに以下の設定を追加します。
foobar.com          quickml:[localhost]
.foobar.com         quickml:[localhost]    ← サブドメインを許可する場合追加
  
quickmlサーバへの配送を許可するため、accessファイルに以下の設定を追加します。
foobar.com          RELAY
.foobar.com         RELAY    ← サブドメインを許可する場合追加
  
行なった設定をデータベースに反映させ、sendmailを再起動します。
# makemap hash mailertable < mailertable
# makemap hash access < access
# kill -HUP sendmailのプロセスID
  
補足

今回このページで紹介した設定の動作を簡単な図にしてみました。

参考リンク

川俣吉広, kaw@on.rim.or.jp
2002年 12月 20日