• ベストアンサー

Linux 複数ドメインのSendmailの設定について

現在、バーチャルドメインにおいてのsendmailの設定で 非常に困っています。 どなたか教えていただけませんでしょうか(;_;) ------------------------------------------- 複数ドメインの場合 ドメイン違い同じアカウント名が発生します。 例えば *a*という会社のドメインと*b*という会社のドメインの管理 をしている場合に、*a*という会社にも*b*という会社にも userさんという人がいて 内部的にはユーザー管理を番号などでしているとしても 外部的には同じアカウントをドメイン違いで使用したいのです。 【例】 ユーザー:User1  ドメイン:*a*.co.jp ユーザー:User2  ドメイン:*b*.co.jp user@*a*.co.jp は user1のmailboxへ配信 user@*b*.co.jp は user2のmailboxへ配信 【現在設定内容】 Sendmail.defファイルの[usertable]にて 以下のように設定しております。 ((sendmail.def)) USERTABLE_MAPS='*a*.co.jp=hash:/etc/mail/mail.*a*.db \ *b*.co.jp=hash:/etc/mail/mail.*b*.db' ((dbの内容)) (1)mail.*a*.dbの内容 user:maildrop user1@*a*.co.jp (2)mail.*b*.dbの内容 user:maildrop user2@*b*.co.jp ※Sendmail.defはCfファイルに変換し、dbファイルも hashをかけて ・・・というような処理は必ず実行しているものとします。 OFFICIAL_NAMEには*a*.co.jp MY_ALIASには*b*.co.jp ALIAS_REWRITE=no ACCEPT_ADDRには*b*.co.jpと設定しています。 いろんな方のHP等をご拝見させていただいたのですが なんだか上手く行かなくって・・・ 上手く行かないというのは どちらのドメインでテストしても 結局Official_Nameに設定している*a*のuser1のmailboxに いっちゃうのです。 Procmail?の設定は全くしていません。 もしかして必要なのでしょうか。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • ita3
  • ベストアンサー率67% (25/37)
回答No.1

Wide-CF ではなく、m4 の cf であれば、実績があります。 現在 CFの方のメンテナンスもないようなので、m4の方に 移行してみてはいかがでしょうか。 m4 の mc ファイル中に VIRTUSER_DOMAIN_FILE(`-o /etc/mail/virtuser-domain')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtual-user-table')dnl と定義しておいて、make なんとか,cf でsendmail.cf を作成して おいて、 --- /etc/mail/virtuser-domain *a*.co.jp *b*.co.jp --- /etc/mail/virtual-user-table user@*a*.co.jp user1 user@*b*.co.jp user2 ------------------------------------------- というファイルを作って、 virtual-user-table は、makemap で hash しておけば 望みの動作をすることができるかと思います。 virtual-user-table の方に @*b*.co.jp error:5.1.1:Unknown user というのを追加しておくと、相手に unknown user としてエラーを明示的に返すこともできます。

jun1192
質問者

お礼

ご回答ありがとうごさいました。 ご記入いただいた通り、m4の方に移行してみます。 バーチャルホストの設定以前に、基本の設定等が必要かと 存じておりますが、何をどのように変更したら よいのか・・・。 もしご存知でしたら参考URLやサンプルなどを 教えて頂けないでしょうか?

jun1192
質問者

補足

m4で設定しなおすと(あまり変更点はなかったのですが) うまく作動しました。 ありがとうございました。

その他の回答 (1)

  • ally0417
  • ベストアンサー率33% (2/6)
回答No.2

sendmail.cfにおいてvirualusertableを使用するように設定してみてはいかがですか? # Virtual user table (maps incoming users) Kvirtuser hash /etc/mail/virtusertable ↑以上の部分 この設定を利用するには、ut.virtualsertableというファイルを準備します。 このファイルには利用するドメインと受け取りたいローカルユーザを記述します。 例) user@*a*.co.jp *a*-user user@*b*.co.jp *b*-user 意味は左辺宛のメールは右辺のローカルへ配送される というものです。 内部的にユーザ名が違えばこれでいけます。 このファイルを作成し、 makemap hash /etc/mail/virtualusertable < /etc/mail/ut.virtualusertable とし、sendmailの設定に組み込みます。 以上の内容でわたしはバーチャルドメインにおいてメール配送をしています。 試してみてください。

jun1192
質問者

お礼

ご回答ありがとうございました。 上記の内容は、Sendmail.cfファイルに直接記述するということでしょうか? 試行してみましたが、上手く動作致しませんでした(;_;) きっと他の設定等で問題があるのだと思います。 もう一度勉強してみます。

関連するQ&A