sendmail 8.14.4を使用しています。

メールボックスは、メインのWebサーバと同じドメインながらDNSのMX値を変更して、別のサーバで運用しようと考えています。
ただ、WebからCGIで送信されたメールが、Webサーバと同じメールボックスへ届いてしまい、別のサーバで運用しているメールボックスへ届いてくれません。

これは、sendmailの設定を変更すればよいのでしょうか。
無知で申し訳ないのですが、設定方法などを教えて頂ければ幸いです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/07/10 16:00:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:azumakuniyuki No.1

回答回数17ベストアンサー獲得回数4

ポイント100pt

仮にドメインがexample.jpであるとして、Webサーバ(ホスト名はwww.example.jpと仮定)とメールサーバ(ホスト名はmail.example.jpと仮定)の双方でSendmailが動いているとします。


WebサーバのCGIから送信したメールがWebサーバのメールボックスに届くのは、次の2点が関係していると思われます。

  • Webサーバの/etc/mail/local-host-names にexample.jpと書いてある
  • バーチャルホストの機能を使ってるならWebサーバの/etc/mail/virtuser-domainsにexample.jpと書いてある
  • local-host-names,virtuser-domainsの両方にexample.jpと書いてあることもある

上記の通りであれば、次のような手順でよいかと思います。

  1. Webサーバの/etc/mail/local-host-namesはwww.example.jpと入力
  2. Webサーバの/etc/mail/local-host-namesにexample.jpと書いてあれば中身を消す
  3. メールサーバの/etc/mail/local-host-namesにmail.example.jpと入力
  4. バーチャルホストを使ってるならメールサーバの/etc/mail/virtuser-domainsにexample.jpと書く
  5. バーチャルホストを使ってるならメールサーバの/etc/mail/virtusertableも設定する
  6. バーチャルホストを使ってないならメールサーバの/etc/mail/local-host-namesにexample.jpも書く
  7. 双方のsendmailを再起動する

仕組みとしては、sendmailはlocal-host-namesやvirtuser-domainsにexample.jpと書いてあったら、***@example.jp宛のメールは自分宛と判断して、そのsendmailが動いているホストのメールボックスに配送しようとします。

おそらくWebサーバのlocal-host-namesかvirtuser-domainsにexample.jpって書いてあるから、Webサーバが自分宛と判断しているのでしょう。

local-host-namsやvirtuser-domainsにexample.jpと書いていなければ、sendmailはDNSを検索してexample.jpの受け取り先をMXから見つけて、メールサーバにリレーすると思います。

  • id:dcm83491
    返信が遅くなりました。確かに、思惑通りに動作しました!
    ありがとうございます。助かりました!このような操作のマニュアルを見つけられなかったので最高です!
  • id:azumakuniyuki
    お役に立てたようでなによりです(´∇`)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません