- PR -

qmailによる親ドメイン宛メールのローカル配送

1
投稿者投稿内容
long
会議室デビュー日: 2005/05/16
投稿数: 3
投稿日時: 2005-05-16 14:36
はじめまして。当方qmail初心者です。
標記の件について識者の皆様のお知恵をお貸しください。

本社−支店をVPN接続している支店のメールサーバをsendmailからqmailに置き換える
ことを検討中なのですが、このとき支店内部のローカル配送を親ドメインのメールア
ドレスで行う方法が分かりません。

支店 本社
+-----------------+ +--------------+
+ 支店.本社.co.jp +-- VPN --+ 本社.co.jp +-- INTERNET
+-----------------+ +--------------+

現在、上図の構成で支店は本社から支店サブドメインを委任されておりDNS、メール
サーバ(sendmail)を運用しています。また、支店から外部への出入りは常に本社経由
で行っています。

このとき、支店社員のメールアドレスは <支店社員@本社.co.jp> を利用しているの
ですが、外部からのメールについては本社サーバで <支店社員@支店.本社.co.jp>
と支店サブドメインを付加して転送しています。

ここで支店のサーバをsendmailからqmailに移行するとき、支店内部のローカル配送
を <支店社員@本社.co.jp> を使って行いたいのですが設定方法が分かりません。

単純に運用すると、本社でバウンスしてくれるのですがそれだとVPN上に不要なトラ
フィックが洩れてしまいますし、localsに「本社.co.jp」ドメインを追加すると
<本社社員@本社.co.jp> 宛のメールがエラーとなってしまいました。

sendmailでは"CF"を使用して"ACCEPT_DOMAIN","SPECIAL_USERS"で実現していたので
すが qmailでは同様の処理は可能なのでしょうか。

ご存知の方おられましたら、よろしくお願い申し上げます。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-05-16 15:25
引用:
単純に運用すると、本社でバウンスしてくれるのですがそれだとVPN上に不要なトラ
フィックが洩れてしまいますし、localsに「本社.co.jp」ドメインを追加すると
<本社社員@本社.co.jp> 宛のメールがエラーとなってしまいました。


それはつまり、

・本社では、@本社.co.jp をローカルとして扱っている
・支店( qmail )でも、@本社.co.jp をローカルとして扱いたい
・ただし、支店では、本社に属するアカウント( @ 以前 )を登録していない
→ よって、単純に locals に“本社.co.jp”を追加すると、本社に属するアドレスが、「ローカルだがアカウントが存在しない」と見なされて、配送エラーになってしまう。

ということでしょうか…。

それであれば、“本社.co.jp”は locals に含めたままで .qmail ( .qmail-default ? ) に細工をして、支店に存在しないアカウントをまとめて処理する必要がありそうですね。
※ 本当は virtualdomain を使った方が良いかも

思いつく手としては、

・一旦 1つの Maildir に保存しておいて、serialmail で本社にまとめ送り
・Maildir には保存せず、本社を表すサブドメインをアドレスに付加して転送
・Maildir には保存せず、qmail-remote を直接呼んで、本社 SMTPサーバに送信

というのがありそうです。( 2番目は、ドメイン管理上難しいかも )

以上、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-05-16 15:35 ]
long
会議室デビュー日: 2005/05/16
投稿数: 3
投稿日時: 2005-05-16 19:30
angel様、回答ありがとうございます。
やりたい内容はご指摘の通りです。

この場合「“本社.co.jp”は locals に含めたままで .qmail ( .qmail-default ? )
に細工〜」とのことですが、これは、「qmail-send でローカル配送としておいて
qmail-local 処理の際に .qmail で細工する」という理解でよろしいでしょうか?

また、このとき、支店では本社のアカウント全てを把握できないので
/var/qmail/alias 配下に .qmail-default を作成することになるのでしょうか?
# なんとなくこの場合は全ての宛先不明メールがここに来るような気がするのですが。

また、virtualdomain を使用する場合“本社.co.jp”を仮想ドメインとして支店社員を
仮想ユーザに登録するとき、”仮想ユーザに登録されていないユーザ@仮想ドメイン宛”
のメールを本社サーバに転送するにはどのような設定を行えば良いのでしょうか?

質問ばかりで恐縮ですが、ご教授いただければ幸いです。
よろしくお願い申し上げます。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-05-17 02:15
こんばんは。

引用:
この場合「“本社.co.jp”は locals に含めたままで .qmail ( .qmail-default ? )
に細工〜」とのことですが、これは、「qmail-send でローカル配送としておいて
qmail-local 処理の際に .qmail で細工する」という理解でよろしいでしょうか?


はい。その通りです。

引用:
また、このとき、支店では本社のアカウント全てを把握できないので
/var/qmail/alias 配下に .qmail-default を作成することになるのでしょうか?
# なんとなくこの場合は全ての宛先不明メールがここに来るような気がするのですが。


はい。そうなります。( /var/qmail/alias 以下に配置する場合、.qmail, .qmail-default のどちらを使うべきか、ちょっと覚えていません。)

なおこの方法では、

・本社への転送対象 = 不明な宛先(支店・本社両方) + 本社に属する正式なアドレス

になります。
引用:
また、virtualdomain を使用する場合“本社.co.jp”を仮想ドメインとして支店社員を
仮想ユーザに登録するとき、”仮想ユーザに登録されていないユーザ@仮想ドメイン宛”
のメールを本社サーバに転送するにはどのような設定を行えば良いのでしょうか?


virtualdomain を使用しない場合は、/var/qmail/alias/.qmail ( /var/qmail/alias/.qmail-default ? ) で制御しますが、virtualdomain を使用する場合は、~仮想ドメイン管理ユーザ/.qmail-default で制御することになります。
ファイルの内容は変わらないです。
( 設定する内容について概要は前の投稿通り。詳細については…、そこまでは頭の中に固まってはいません )

virtualdomain で、支店・本社を区別してあげれば、“宛先不明@支店.本社.co.jp”が、本社に転送されるのを防ぐことができるはず。それを考えて候補に挙げました。

以上、ご参考まで。
long
会議室デビュー日: 2005/05/16
投稿数: 3
投稿日時: 2005-05-17 11:53
angel様、ありがとうございます。

ご教授頂いた内容にて設定を試してみます。
virtualdomainについては、種類もたくさんあるようなのでこれから調べてみる
ことにします。

# ふと思ったのですが、qmail-send の前段でエンベロープを書き換えるフィルタ
# があれば楽なんですが…。そういう行儀悪をしないのがqmailの美点でしょうか。

また煮詰まったときは質問するかもしれませんが…。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)