- ベストアンサー
Postfixで外部にメール送信できません。
はじめまして。 先日より電話回線&プロバイダを変更しました。 (YahooBB→KDDIメタルプラス+DION) その後、それまで送受信可能だったメールが、送信のみできなくなりました。 【構成】 ・OS:RedHat9 ・メールサーバー:Postfix 1.1.11-11(デフォルトRPM) 【環境】 ■ネットワーク:172.28.100.0/24 ADSLモデム(ATERM DL180V ルーター機能付) | スイッチングハブ | メールサーバー(RedHat9) ローカルには配送OKなのですが、外部(hotmail.com)に送信テストを行いましたが、配送されません。 ■/var/log/maillog(172.28.100.2はOutlook使用クライアントマシンです) pr 25 19:41:05 redhat9sv postfix/smtpd[12677]: connect from unknown[172.28.100.2] Apr 25 19:41:05 redhat9sv postfix/smtpd[12677]: 1643829B1F: client=unknown[172.28.100.2] Apr 25 19:41:05 redhat9sv postfix/cleanup[12717]: 1643829B1F: message-id=<002801c549f0$08623640$0264 1cac@sakura> Apr 25 19:41:05 redhat9sv postfix/nqmgr[32335]: 1643829B1F: from=<xxxx@example.net>, s ize=1936, nrcpt=1 (queue active) Apr 25 19:41:05 redhat9sv postfix/smtpd[12677]: disconnect from unknown[172.28.100.2] Apr 25 19:41:45 redhat9sv postfix/smtp[12719]: 1643829B1F: to=<xxxx@hotmail.com>, relay=none, delay=40, status=deferred (Name service error for hotmail.com: Host not found, try again) (*「xxxx」は個人アカウント名なので伏せさせていただきました) ちなみに/etc/resolv.confには、nameserverにプロバイダのDNSサーバーアドレスを記述してあり、dig、nslookupにて名前引、逆引共出来ています。 どうかご教授くださいますようお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>Name service error for hotmail.com: Host not >found, try again 名前解決の失敗じゃないでしょうか? digで宛て先の正式ドメイン名のmxレコードが取得出来るのであれば、postfixスプールファイルのDNS内容がおかしいかと思います。
その他の回答 (3)
- 10gate
- ベストアンサー率42% (50/117)
#1です。 > コマンド結果は下記のように、smtp_host_lookupが未知のパラメータとして認識しませんでした。 #2様のご指摘の通り、このパラメータはpostfixの1.xにはありませんでした。 changelogをみたら2003年4月に追加されたパラメータでした。ごめんなさい。 DNSについては、とりあえずこちらでひいたyahooさんとhotmailさんのdigの結果の一部です。 mta09.mail.yahoo.co.jp. 705 IN A 202.93.87.209 mx4.hotmail.com. 2290 IN A 65.54.253.230 これらのhostに25番でtelnetできるでしょうか。 できなければ、ルータかファイアウオールの設定、できるのであれば・・とりあえずpostfixをもうちょっと新しいバージョンにして試されてはいかがでしょう。 あとDDNSがダメだという記述は見つけられませんでした。 仮にダメだとしても受信ができないだけで送信はできると思います。
お礼
お返事おそくなりすいません。 >changelogをみたら2003年4月に追加されたパラメータでした。ごめんなさい。 いえいえ、親切にありがとうございます。 >mta09.mail.yahoo.co.jp. 705 IN A 202.93.87.209 >mx4.hotmail.com. 2290 IN A 65.54.253.230 > >これらのhostに25番でtelnetできるでしょうか。 [root@redhat9sv root]# telnet mta09.mail.yahoo.co.jp 25 Trying 202.93.87.209... Connected to mta09.mail.vip.bbt.yahoo.co.jp (202.93.87.209). Escape character is '^]'. 220 YSmtp mta56.mail.bbt.yahoo.co.jp ESMTP service ready Connection closed by foreign host. [root@redhat9sv root]# telnet mx4.hotmail.com 25 Trying 65.54.253.230... Connected to mail2.hotmail.com (65.54.253.230). Escape character is '^]'. 220 mc8-f8.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.msn.com/Anti-spam/. Violations will r esult in use of equipment located in California and other states. Wed, 27 Apr 2005 19:23:47 -0700 Connection closed by foreign host. 一応、telnetはOKです。 やはりpostfixをバージョンアップしたほうがいいですかね・・・? >あとDDNSがダメだという記述は見つけられませんでした。 >仮にダメだとしても受信ができないだけで送信はできると思います。 そうですね、送信できてもいいはずなんですが・・・名前引きが出来てないのが不思議です。 いろいろありがとうございます。
- Lean
- ベストアンサー率72% (435/603)
>digコマンドの表示に以下のものがありました。 > >;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 > >ADDITIONALが無いようです。 この結果が正しいとしたら、MX(Mail eXchanger)レコードが引けてないように見えますが、そういうDNSサーバなんですか? メールの配送にDNSを使用する場合、MXレコードを参照して配送先のメールサーバを決定するのですが、どうもMXレコードが引けない(Name service error for hotmail.com: Host not found, try againのエラー)ために配送出来ていないようにみえます。 ちなみにpostfix 1系だと % postconf -h disable_dns_lookups no だとSMTPの時DNSを使用するだったかな。 本当にDNSでMXレコードが引けないなら、disable_dns_lookupsをyesにした上でrelayhostにISPのメールサーバ(SMTP)を指定して外部宛は全てISPのメールサーバに配送する事で逃げられないかな? あ、でもDDNSのドメインのメールアドレスを使用していると第三者中継で弾かれるかな?
お礼
返事送れてすいません。 >この結果が正しいとしたら、MX(Mail eXchanger)レコードが引けてないように見えますが、そういうDNSサーバなんですか? いいえ、プロバイダ変更前は使えてました。 >ちなみにpostfix 1系だと >% postconf -h disable_dns_lookups >no >だとSMTPの時DNSを使用するだったかな。 [root@redhat9sv root]# postconf -h disable_dns_lookups no でしたのでDNS使用かと思います。 >本当にDNSでMXレコードが引けないなら、disable_dns_lookupsをyesにした上でrelayhostにISPのメールサーバ(SMTP)を指定して外部宛は全てISPのメールサーバに配送する事で逃げられないかな? >あ、でもDDNSのドメインのメールアドレスを使用していると第三者中継で弾かれるかな? disable_dns_lookupsをyesにする方法がわかりませんが調べて実施してみたいと思います。 ただ上記で云われておりますように、ISPのSMTPサーバーは中継のフィルタで弾かれてしまうように思います。 実施したらまたお知らせします。 ありがとうございます。
- 10gate
- ベストアンサー率42% (50/117)
こんにちは。 複数のドメインに対して送信できないでしょうか。 それとパラメータのチェックもお願いします。 postconf -h smtp_host_lookup というコマンドの結果は dns となるでしょうか。 最後に、送信しようとするhostに25番でtelnetできるか試して見て下さい。 手順は 1)# dig ドメイン名 mx 2);; ADDITIONAL SECTION:以下に表示されているIPアドレスをどれでも1個控える 3)控えたIPアドレスにtelnet # telnet xxx.xxx.xxx.xxx 25 この結果が、 Trying xxx.xxx.xxx.xxx... から変化なければルータかファイアウオールのアクセス制限がかかっていると思います。
補足
早速のお返事ありがとうございます。 >複数のドメインに対して送信できないでしょうか。 はい。 Yahooにも上記ログ同様yahoo.co.jpが見つからない旨のログが出されました。 >postconf -h smtp_host_lookup >というコマンドの結果は >dns >となるでしょうか。 コマンド結果は下記のように、smtp_host_lookupが未知のパラメータとして認識しませんでした。 [root@redhat9sv root]# postconf -h smtp_host_lookup postconf: warning: smtp_host_lookup: unknown parameter どうもここらへんが怪しいようです。 >1)# dig ドメイン名 mx >2);; ADDITIONAL SECTION:以下に表示されているIPアドレスをどれでも1個控える digコマンドの表示に以下のものがありました。 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ADDITIONALが無いようです。 ここで大切なことを記述するのを忘れてました。 このメールサーバーはダイナミックDNSサービス(DynDNS)でドメイン名を割り当てています。 example.netがそのドメイン名です。 (実際のドメイン名はexampleではありませんが・・・) やはりDDNSでのマッピングの関係でしょうか? 申し訳ありませんが、宜しくお願いします。
お礼
返事おそくなりすいません。 >digで宛て先の正式ドメイン名のmxレコードが取得出来るのであれば、postfixスプールファイルのDNS内容がおかしいかと思います。 確かにDNSがおかしいとは思うのですが、スプールのDNS内容を調べる、というのは具体的にどうするのでしょうか? もし判るようでしたら教えてください。 よろしくお願いします。
補足
補足とお礼逆ですが(笑)無事解決しました。 おっしゃるとおり PostfixスプールのDNS(/var/spool/postfix/etc/resolv.conf)のDNSがYahooBB時代のDNSのままになっていました。 ヒントをいただきましてありがとうございました。