重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

あるネットワーク(ドメイン名domain.ne.jpとします)上にhostA,hostBの2つのサーバがあります。
DNSは、@domain.ne.jp のアドレスに送られたメールはhostA.domain.ne.jpに投げるように設定されているようです。
いま、hostBでsendmailを使って、hogehoge@domain.ne.jpにメールを送ろうとしたのですが、
hostAのspoolにメールが溜るのではなく、hostBのspoolにメールが溜ってしまっています。

sendmailが、ローカル宛てのメールだと勘違いしてしまっていることが
原因だと思われるのですが、sendmailの設定でどうにかなるものでしょうか?
ちなみに、DNSやhostAは触れないんです。。。

よろしくお願いします。

A 回答 (1件)

 お使いのhostBがsendmailのSMTPサーバーであるという前提で、「CF」を使用してsendmail.cfを作成している場合と、sendmail.cfを直接編集されている場合の設定方法をご説明させていただきます。



----

1.「CF」を使用してsendmail.cfを作成する場合
  まず、下記の修正をsendmail.defに加えます。

  ・MY_DOMAIN=sub.domain.ne.jpに変更
  ・FROM_ADDRESS=domain.ne.jpを設定
  ・STATIC_ROUTE_FILE='domain.deliver'を設定
  ・ACCEPT_DOMAIN='sub.domain.ne.jp'に変更

  さらに外部ファイルでsendmail.defのあるディレクトリ内で下記の内容の
  ファイル、domain.deliverを作成します。

  GW esmtp: [hostA]
  DOM domain.ne.jp

  上記の双方の設定が完了したらsendmail.cfを作成します。これでおそらくは  送信者user@domain.ne.jp(hostB)からuser@domain.ne.jp(hostA)への
  メール転送が可能になると思います。

----

2.sendmail.cfに直接書き込む場合

  sendmail.cfの下記設定の修正/追加をしてみてください。

  DMsub.domain.ne.jp
  DSdomain.ne.jp

  その上で、下記のどちらかの設定をsendmail.cfに追加します。

  (1)設定方法A
  
  DMやDSといった設定の最後の当たりに下記の行を追加します。

  DAesmtp:[hostA]
  CAdomain.ne.jp

  (2)設定方法B

  S0(Ruleset0)内に下記行を追加します。

  R$*<@$*domain.ne.jp>$* $#esmtp $@[hostA] $:$1<@$2domain.ne.jp>$3

  上記の(1)、(2)のどちらでもおそらくはほぼ同じ動作をするはずなのでどちらを
  設定するかはお好みに合わせていただければよいと思います。

----

 なお、[hostA]と書かれている定義部分はhostAのIPアドレスを[ ]で囲んで記入する事を意味しています。ホスト名での定義も可能なので、DNSを検索させる場合にはhostAのホスト名をDNSのフルアドレスで記入し、その場合には[ ]で囲む必要はありませんので注意してください。

 さらにここで注意して頂かないといけないのはhostBでスタティック転送の設定をしても、ローカルドメイン名がdomain.ne.jpである限り、domain.ne.jp宛のメールはhostBのサーバー内でスプールされてしまい、それ以上転送されないということです。ですから、FROM_ADDRESSのみをdomain.ne.jpとして、ローカルドメイン名はsub.domain.ne.jp等の別のドメイン名にする必要があります。十分注意してください。

 長くなりましたが、参考になれば幸いです。
 読みにくい説明で申し訳ありません。
    • good
    • 0
この回答へのお礼

お礼が遅れてもうしわけありません。
HostAが私の管理外にあったもので、実際にメールがHostAに届いているかを確認するのに時間がかかってしまいました。

が、ちゃんと転送されていました。
ありがとうございました!!
丁寧に2ケースまで紹介して頂き、とても助かるとともに、勉強になりました。

お礼日時:2001/10/12 20:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!