sendmailでローカルに届く問題の解決方法

このQ&Aのポイント
  • 質問者は、sendmailでリモートにメールを送りたいが、ローカルに届いてしまう問題に直面しています。
  • DNSの設定が原因で、メールが誤ってローカルのspoolに溜まってしまっています。
  • sendmailの設定を調整することで問題を解決できる可能性があります。
回答を見る
  • ベストアンサー

sendmailからリモートに送りたいのに、ローカルに届く。。。

あるネットワーク(ドメイン名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は触れないんです。。。 よろしくお願いします。

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

  • ベストアンサー
  • Sarukan
  • ベストアンサー率55% (41/74)
回答No.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等の別のドメイン名にする必要があります。十分注意してください。  長くなりましたが、参考になれば幸いです。  読みにくい説明で申し訳ありません。

yuki_nfr
質問者

お礼

お礼が遅れてもうしわけありません。 HostAが私の管理外にあったもので、実際にメールがHostAに届いているかを確認するのに時間がかかってしまいました。 が、ちゃんと転送されていました。 ありがとうございました!! 丁寧に2ケースまで紹介して頂き、とても助かるとともに、勉強になりました。

関連するQ&A

  • sendmail 送信設定について

    メールサーバを外に立てました。ローカルのsendmailを送信だけに使いたいのですが、外部ドメインに対しての送信は正常に行えます。ただ、自分のドメイン宛てにメールを送ると、外部のメールサーバに届かず、ローカルマシンにメールが届いてしまいます。 これは、何処の設定を直せば、正しく外部のメールサーバ向けにメールが届くようになるのでしょうか。 /etc/mail/ sendmail.mc の、 Dmhogehoge.com や LOCAL_DOMAIN(`hogehoge.com')dnl を別の名前にしてもうまくいきませんでした。 すみませんが、教えてください、

  • nslookupするとローカルドメインが追加されてしまう

    お世話になります。 DNSサーバーを構築して(bind8.3.1 for Solaris)同サーバーにて nslookupを実行するとおかしな事象が発生します。 ローカルドメイン(仮): xxx.co.jp DNSサーバー名(仮): mydns.xxx.co.jp DNSサーバーIP(仮): 10.10.10.99 DNSが引けた場合は問題ないのですが、引けなかった場合、通常 # nslookup hogehoge.co.jp Server: mydns.xxx.co.jp Address: 10.10.10.99 *** mydns.xxx.co.jp can't find hogehoge.co.jp: Non-existent host/domain のようになるはずなのに、 # nslookup hogehoge.co.jp Server: mydns.xxx.co.jp Address: 10.10.10.99 Name: hogehoge.co.jp.xxx.co.jp のように、サーチしたドメインの後ろにローカルドメインが付随して表示されてしまいます。 IPでサーチした場合はもちろんこのようにはなりません。 resolv.conf や named.conf も調べたのですがよくわかりません。 どなたかご見当が付く方がいらっしゃいましたらご教授いただければ幸いです。

  • sendmailでローカルサーバ外にメールが送信できない

    Solaris10のデフォルトでインストールされている/usr/lib/sendmailで ローカルサーバ外にメールを送信することができません。 宛先をローカルサーバ内のアドレスにした場合、問題なくメールを 送信できるのですが、ローカルサーバ外のアドレスを指定すると、 メールが送信できません。 /var/log/syslog を確認したところ、以下のメッセージが 出力されていました。 --- Feb 4 12:12:02 ホスト名 sendmail[25774]: [ID 801593 mail.info] n1434WdZ025772: to=<外部アドレス>, delay=00:07:30, xdelay=00:07:30, mailer=esmtp, pri=120373, relay= mailhost, dsn=5.1.2, stat=Host unknown (Name server: mailhost: host not found) Feb 4 12:12:02 ホスト名 sendmail[25774]: [ID 801593 mail.info] n1434WdZ025772: n143C2dZ0257 74: DSN: Host unknown (Name server: mailhost: host not found) --- エラーではmailhostがないというようなメッセージがでています。 当サーバとほぼ同じネットワーク設定をしたSolaris9のサーバでは 問題なくメールが送信できていますが、Solaris10の場合はこのmailhostの 設定が必要なのでしょうか?

  • sendmailの設定

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

  • sendmail 8.12.2の設定

    環境: Solaris 9(SPARC) sendmail 8.12.2 メールHUBにメールを送信するためsendmailの 設定をしております。 動作としては 自サーバからメールをhubに送信して、外に出して もらい、受信は一切行わないといった内容です。 メールが飛ぶとこまでの確認はしました。 /etc/hostsに以下をエントリ smtpサーバipアドレス #tab #tab smtp-server 次に /usr/lib/mail/cf/sendmail.mc を修正 -------------------------------------------- divert(0)dnl VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00') OSTYPE(`solaris8')dnl define(`MAIL_SETTING_DIR',`/etc/mail/')dnl Dwホスト名 Dmドメイン名 define(`confDOMAIN_NAME',`$w.$m')dnl FEATURE(`accept_unresolvable_domains') define(`SMART_HOST',`smtp:smtp-server')dnl MASQUERADE_AS(`$m')dnl FEATURE(`masquerade_envelope')dnl DOMAIN(`solaris-generic')dnl MAILER(`local')dnl MAILER(`smtp')dnl -------------------------------------------- # make sendmail.cf # cp sendmail.cf /etc/mail # pkill -HUP sendmail # mailx メールアドレス subject aa bb . EOL この設定でメールは届きます。 ここからが質問なのですが、マスカレードを設定 したはずなのに、送信者のアドレスが root@ホスト名.ドメイン名 のままで届きます。 これを指定したアドレスにしたいのですがどのように 設定すればよろしいでしょうか? root@ホスト名.ドメイン名 → test@ドメイン名

  • sendmailの送信ができません

    Linuxもsendmailも初心者です。 Red-HutLinux7.3のマシンで、ダイナミックDNSドメインを取得し、入門書に従って、メールの送信まで可能な状態までsendmailの設定をしました。 テストでプロバイダのアドレスに送って、別のPCで受信しようとしたのですが、メールがきていませんでした。 そこでsendmailの再起動やネットワーク設定を見直していたところ、一旦はテストのメールが 受信できました。しかし、その後もう一度テストメールを送信したところ、 また受信されなくなってしまいました。 /var/log/maillogを見たところ、一旦受信できた後またできなくなった部分には、「host name lookup failure」と記述されていました。 sendmailのバージョンは、8.11.6です。 何が原因なのでしょうか。お分かりになる方がいらっしゃいましたら、宜しくお願い致します。

  • Sendmailの設定

    違うジャンルで以前質問させて頂いたのですが、回答が なかったためこちらで質問させて頂きます。かなり困って いますので、よろしくお願い致します。 Solaris8でsendmail8.11.2を使用しているのですが、 あるPCから自ドメイン以外へメールを送信しようとすると あなたはIPアドレスを偽っていますというエラーがでて 送信できません。また、自ドメイン宛のアドレスには送信できます。 その後管理しているDNSの設定を見てみると、送信できなかったIPアドレスの正引きと逆引きのホスト名が違っていたため、そこを修正すると外部へ送信できました。 今までの古いバージョンのsendmailでは起こっていなかったので多分新しいバージョンの仕様だと思うのですが。 現在DNSの情報を整理しているところなので、もしこのsendmailの機能を解除する設定をご存知でしたら教えて頂けないでしょうか?

  • sendmailサーバを利用するための設定をお教え下さい。

    linux(redhat9)にてメールサーバ立ち上げるため、 cfにてsendmail・ipop設定までは出来ましたが、ここか ら先どうするかで詰ってしまいました。 サーバでのmailコマンドで、ユーザ間メール送受信はOK でした。 ルータ、ファイア・ウォール設定もOKです。 WAN側のメールサーバ名のDNS設定はドメイン取得した 会社側で設定してもらえるのを確認しました。 mxレコードに ○○.jp. IN MX 10 mail.○○.jp 設定を考えてます。 自サーバ側のどこでmail.○○.jpをひもづければよいの か?また他に必要な設定は? また、クライアント側の受信・送信サーバ設定も分かり ません。 先週、sendmailについてはアドバイスいただき、 「sendmailメールサーバの設定・運用・管理」を入手し 設定しました。 ですがDNSとの連携やクライアント側の設定など、メール サーバを利用するための情報が分かりません。 アドバイス、またはDNS・クライアント設定まで述べて いる良い本がありましたらそちらの紹介でもかまいませ んのでご教授の程よろしくお願いします。 【設定を行った内容】 ●cfを使用してsendmail.mcよりsendmail.cfを生成 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ●中継許可 /etc/mail/relay-domains 192.168.1 ○○.jp ●受け取るドメイン /etc/mail/local-host-names ○○.jp service sendmail restart ●imap・ipop /etc/xined.d/ipop3 disable yes←noに変更 service xinetd restart

  • sendmailの設定について

    クローズなネットワークにあるサーバから、管理者宛メール(root宛)をあるメールサーバへ送信したいです。 DNSなどを参照せずに、IP指定でメールをすべて転送したいのですが、sendmail.cfの設定箇所が分からず困ってます。 sendmail-8.12.10を使用しております。 よろしくお願いします。

  • 自家製Sendmailについて

    現在、自宅でTurboLinux7.0ServerでBINDを構築したので、DNSは自分を指定しても(プロバイダ指定のものを使用していなく)と名前解決してくれますよね。(ルートDNSの情報があるので) では、そこで質問なんですがSendmailを一緒のPCにインストールしした場合、自分をSMTPに指定して外部のアドレスにメール送信できるのでしょうか? [環境] 固定IPのもらえないADSL回線 NATを使ってインターネット接続 DNSで設定したドメインは実在しないもの 私の理論では 1.メールクライアントからメール送信 2.自分のSMTPが受取る 3.SMTPはメールアドレスのドメイン名が自分でないと判断 4.自分のDNSが目的のドメインのMXレコードを探し出す 5.MXレコードが見つかると名前解決ができ無事目的のSMTPまで送信できる。 どうでしょう?できそうですが実際はどうなんでしょうか? こんなことができてしまうと簡単に成りすましができてしまうのですが・・・