• ベストアンサー

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

  • sendmail.defの設定・・・

    CFのsendmail.defの設定ですが、現在、 MY_DOMAIN=domain.com MY_NAME=mails OFFICIAL_NAME='$w.$m' MY_ALIAS=m2srv.domain.com      ↑例 のようにして、「ユーザー名@m2srv.domain.com」 および 「ユーザー名@mails.domain.com」 で送られてきたメールを受信できるようにしています。 しかし、メーラーで受信すると、両方ともToが@mails.domain.com に書き換えられてしまいます。 defの設定で、どのように設定すれば、Toが別々に表示できるでしょうか? ちょっとわかりにくい質問かも知れませんが、よろしくお願いします。 なお、CFのバージョンは3.7Wです。

  • sendmailのバーチャルドメイン設定

    linux7にapache、sendmailを入れています。www.aaa.comというドメインで動かしていたんですが、このたびwww.xxx.comというドメインを新たに取得したのでこのサーバで動かそうと思い、ここで教えてもらってバーチャルドメインの設定をしたんですが、apacheはどうやらうまく動いているようなのですが、メールが届かなくて困っています。 Relay operation rejected Giving up on xxx.xxx.xx.xxというメッセージとともにメールが帰ってきます。nslookupで調べてみると、set type=mxで検索したときにAuthoritative answers can be found fromのあとに20行ほど出てきて、どうもおかしいようです。 sendmail.defの末尾にUSERTABLE_MAPS='xxx.com=hash:/etc/mail/dddddd'を追加してCFを使ってcfを作りました。 ddddddには webmaster:maildrop webmaster と書き、makemapでdbファイルを作りました。 /etc/namedb/の中のxxx.com.zoneにはaaa.comの正引きゾーンファイルを真似て書きました。mx関連で言えば xxx.com. IN MX 10 www.aaa.com. www IN A xxx.xxx.xx.xx(aaa.comのIP) IN MX 10 www.aaa.com. smtp IN CNAME www.aaa.com. pop IN CNAME www.aaa.com. とか書いてみました。あんまり自信ないです。 どこか間違っているところはないでしょうか。 教えてください。お願いします。

  • sendmailのvirtusertableが有効になりません。

    sendmailのvirtusertableの設定で質問があります。 sendmail.cfには、 # Virtual user table (maps incoming users) Kvirtuser hash -o /etc/mail/virtusertable.db と記述があり、 /etc/mail/virtusertable に ユーザ1@ドメイン名 ユーザ2 と記述し、 # makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable を実行してsendmailを再起動したのですが、 ユーザ1にメールが届いてしまい、virtusertableの設定が有効になっていないように思います。 (# sendmail -bv ユーザ1@ドメイン名 を実行しても、ユーザ1に届いた旨が回答されます。) virtusertableの設定を有効にするにあたり、気をつける箇所などございますでしょうか。 アドバイスを頂けませんでしょうか。 よろしくお願いいたします。 OS:RedHat EL4 sendmail-8.13.1-3.2.el4 sendmail-cf-8.13.1-3.2.el4

  • sendmailで他ドメインのアドレスに送信できません。

    LinuxWorld1月号に付いていたRHL8.0で7.3からアップグレードしました。sendmailはrpmで8.12.5-7にアップグレードしました。以前のsendmail.mcを使ってもう一度sendmail.cfを作成したところローカルドメインのユーザー間ではメールの送信は可能なのですが、他ドメインのメールアドレスにはメール送信ができなくなりました。また、sendmail.cfを作成する際 *** WARNING: missing -T<TMPF> in argument of FEATURE('access_db',hash -o /etc/mail/access.db)という警告が出ますが何のことなのでしょうか。参考にしたsendmail.mc の内容は以下のページのものです。 http://www.geocities.co.jp/SiliconValley-Cupertino/1049/inst_mail.html

  • Linuxのsendmailで複数ドメインを使いlinとwinのpopへ振り分けたい

    現在下記の構成で自宅サーバ環境を動かしています。 Linux(192.168.1.111)+sendmail+pop abc.jp W2Kserver(192.168.1.222)+DNS(MXレコード等設定済) これに、新たに W2Kserver2(192.168.1.77)+pop xyz.jp というドメイン用のサーバを追加し、linのsendmailで受信したメールをabc.jp宛てのものはlinのpopへ、xyz.jp宛てのものはW2Kserver2のほうへと振り分ける動作をさせたいと思っています。 ところが外部からメール送信テストを行うと、どちらのドメイン宛てのメールもすべてlinのpopに入ってしまい、振り分けが行われません。 linからxyz.jpのMXレコードを引くと、一応W2Kserver2の値が返るのでDNSの設定は問題なさそうです。 となるとやはりsendmailの設定が疑わしいのですが、具体的にどこの設定が問題なのか見当がつきません。 なおsendmailの設定はCFでしか行ったことがないのですが、そもそもこれでは出来ないことなのでしょうか?それとも、それ以前に私の意図する動き自体が一般的に不可能なことなのでしょうか? どなたかご教示いただければ幸いです。よろしくお願いいたします。

  • sendmailの設定について

    sendmailを久々に設定することになりまして mcの設定項目について質問させてください。 ○環境 OS Redhat ES 4 バージョン sendmail 8.13 内部PC → メールサーバ→ インターネット ○したいこと (1)内部PCからメールサーバにメール送信する際に  Fromアドレス(エンベロープ含む)がroot や user等の  @以降がないローカルバート部分のみの場合に  内部PCからのメール送信をメールサーバが拒否しないようにしたい (2)1を外部に配送する際にローカルバート部分だけの    fromメールアドレスにドメインを付与したい    ただし、fromのメールアドレスがローカルバート部分だけ等の    メールアドレスとして不完全な状態でなければドメイン付与はおこなわない    (付与したいドメインと違うドメインがfromアドレスに    あったとしてもメールアドレスとして問題なければ    ドメイン付与はおこなわない) 以上よろしくお願いします。

  • Sendmailの設定で

    Sendmail for NT2.5からメールを送信した際、 ドメイン名が存在しない場合は「Host unknown」 のエラーメールが、 ユーザ名が存在しない場合は 「User unknwon」のエラーメールが 返ってくる のですが、このとき、fromに何も入ってきません。 (from<>となる) fromに文字を入れたいのですが(from<errormail@aaa.com>とか) どこの設定を変更したらいいのでしょうか?おしえてください。

  • sendmailからpostfixに切り替え

    Virtualminを使ったら、sendmailからpostfixに切り替わり、メールの送受信出来なくなりました。 (outlook等で外部のメールアドレスが出来ない。メールワイズでもダメ!) Relay access denied.ポート:25.セキュリティ(SSL):なし,サーバーエラー:554,エラー番号:0x800CCC79 なかなかネットで探しても情報がありません。 centos専用サーバーでwebminを使って管理していました。 今まではドメインがひとつだったのでよかったのですが、 ドメインを追加にする為、追加設定が楽そうなVirtualminをインストールし管理しようとしました。 ドメインを追加、ホームページは無事設置できたのですが、 今まで使っていたもともとあったメールアドレスが送受信できなくなりました。 新規のアドレスは追加方法がわからず何もしていません。 (webminはわかるがVirtualminでの追加がわからない) >どうしたいか sendmail,postfixどちらでもいいのでメールの送受信が出来るようにしたい。 >行った作業は、以下の2つ 1 設定はvi /etc/postfix/main.cfで ファイルの末尾に以下を追加 virtual_alias_maps = hash:/etc/postfix/virtual 2 VirtualminのCreate Virtual Serverでドメイン追加! >原因 Virtualminがsendmail回りのファイルを削除したのか?書き換えたのか? >状況 /etc/rc.d/init.d/sendmail statusでsendmailのステータスをみると sendmail dead but subsys lockedというエラーが発生 /etc/rc.d/init.d/sendmail stop Shutting down sendmail: [FAILED] /etc/rc.d/init.d/postfix status master (pid 8569) is running... もともとあったドメインは、Virtualminには入れていません。 入れたら設定変わってますます大変ですよね!? >バックアップで設定復元 webminで設定をバックアップ復元しても送受信できません。 >疑問 今までsendmailで使っていたメールアドレスは、設定を変えなくてもpostfixで動くのでしょうか? なぜでしょう?困っています。宜しくお願い致します

  • sendmailの設定

    sendmailの挙動で困っております。。。 Webサーバにメールフォームを作成しており、 そのフォームからメール送信するようにしております。 他ドメイン宛のメールはちゃんと送ることはできますが、 自ドメイン宛のメールは当方のメールサーバに送られずになぜか、 送信元のWebサーバで受信してしまいます。(自分自身) Webサーバはsendmailを使っているのですが、自ドメイン宛のメールは Webサーバ上で受けずにメールサーバで受ける必要があるので、local-host-namesは書いておりません。。。 local-host-namesを書いていないので、 自分宛とは判断せずにMXレコードを引いて当社メールサーバ宛てに 来るものと思っていたのですがなぜでしょうか? sendmailで受取るドメインを設定するのは他にも あるのでしょうか?

  • sendmailで特定ドメインに送信できない

    いつもお世話になってます。 ・Aサーバー(192.168.65.170) ・Bサーバー(192.168.13.38) が存在し、両方にqmail、vpopmailがインストールされています。 このたび、AサーバーからBサーバーに移行を予定しておりますが、 現在はAサーバーのqmailが、fuga@hoge.comのSMTPを行っています。 そこで、BサーバーのPHPからメールを送信する際、他のドメインでは 正常に配信されますが、hoge.comへの配信ができません。 試しに、Bサーバーのsendmailコマンドがら実行してみました。 ◎届く echo "test" | /usr/sbin/sendmail -t -i fuga@domain.com ×届かない echo "test" | /usr/sbin/sendmail -t -i fuga@hoge.com maillogを確認したところ、どうやらBサーバーがローカルに配信して いるらしく、Aサーバーに配信していないようです。 (実際はvpopの設定が不完全で、ローカルでボックスに入らずに どこかに消えたか貯まっている模様) コマンドで以下の確認も行いましたが、正常にAサーバーに 向いています。 ◎正常 [www@B ~]$ nslookup mail.hoge.com Server: 192.168.65.153 Address: 192.168.65.153#53 Name: mail.hoge.com Address: 192.168.65.170 ◎正常 [www@B ~]$ telnet mail.hoge.com smtp Trying 192.168.65.170... Connected to mail.hoge.com (192.168.65.170). Escape character is '^]'. 220 mail.hoge.com ESMTP そこで質問ですが、BからAに配送するには ・sendmailコマンドの設定 ・qmailの設定 ・/etc/resolv.confの設定 あたりを変えれば良いのかな、と思ってはいるものの、 どこをどう変更すれば良いのか、ご教示ください。 補足: 負荷分散環境だったりと、実際はもう少し混み入って いますが、このあたりのレジュメはひとまずは不要かと 思い、入れておりません。 IP、ドメインは架空のものですが、A、Bが内部で繋がって いるのは同じです。セグメントの違いも問題ありません。 最終的にはBサーバーに統合されますので、現在の問題は 解決するかと思いますが、移行までは何とか凌ぎたいです。 よろしくお願いします。