- ベストアンサー
sendmailで外部サーバにメールが送れない問題について
- RedHat7.3でCGI/PerlやPHPの検証用テストサーバを構築し、sendmailを使って外部サーバにメールを送ろうとしていますが、送信できません。
- LAN内でのみ接続可能なテストサーバであり、DNSに関するアプリは起動していませんが、ネットワーク自体はルータからADSLで外部に通っています。FTPで外部サーバに接続することはできます。
- sendmailの設定は正しく行っており、/etc/mail/accessにも適切な設定がされていますが、同様の問題に悩んでいます。以前同じ問題に遭遇し、解決方法を忘れてしまったため、助けていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >もしご存じの方いらっさいましたらお願いいたします。 ご存じの方、と簡単におっしゃいますが、原因は限りなく思いつきます。 とりあえず思いつくままに挙げると、 (1) まず、/var/log/maillogにはどんなメッセージが表示されているか? (2) メールサーバやルータのFWの確認は?smtpを閉じたりしていないか? (3) sendmailのデーモンは動いているか? (4) sendmail.cfの元になった、sendmail.mc はどんなふうに定義したか? (5) sendmail.cfの中で、/etc/mail/access.dbを有効にしているか? (6) /etc/mail/access.dbの作り方(makemap)は正しいか? (7) メールサーバのローカルで telnet 外部メールサーバ 25 を実行してメールをとばせるか? (8) ローカルのユーザ間でメールは飛ばせるか? (9) メールを受け取る外部サーバが、名前解決できないサーバからのメールを拒否する様になってるとか? (10) sendmail.cf が2箇所にあって、勘違いして関係ない方を修正してるとか? /etc/mail/sendmail.cf と/etc/sendmail.cfなど frogworkさんが設定された事をもっと詳細に挙げられた方がよろしいかと。
その他の回答 (1)
- xjd
- ベストアンサー率63% (1021/1612)
自宅のメールサーバのローカルで実行した時のログです。 sendmail-8.12.7です。 Bind9は停止させてから、外部に送信してみました。 ご参考まで ●メールサーバ上でメール送信の実行 $ /usr/sbin/sendmail anata@******.jp Subject: Hello From: watashi Konnichiwa. . $ ●/var/log/maillog Mar 3 21:10:55 ns sendmail[805]: h23CAbAX000805: from=watashi, size=39, class=0, nrcpts=1, msgid=<200303031210.h23CAbAX0008 05@sv.######.jp>, relay=watashi@localhost Mar 3 21:10:56 ns sendmail[805]: h23CAbAX000805: to=anata@******.jp, ctladdr=hiro (504/504), delay=00:00: 19, xdelay=00:00:00, mailer=relay, pri=30027, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (h23CAuEP000806 Message accepted for delivery) Mar 3 21:10:56 ns sendmail[806]: h23CAuEP000806: from=<watashi@######.jp>, size=299, class=0, nrcpts=1, msgid=<2003030312 10.h23CAbAX000805@sv.######.jp>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1] Mar 3 21:10:57 ns sendmail[808]: h23CAuEP000806: to=<anata@******.jp>, ctladdr=<watashi@######.jp> (504/50 4), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=30287, relay=mrelay.%%%%%%.jp. [202.XXX.XXX.XXX], dsn=2.0.0 , stat=Sent (VAA13070 Message accepted for delivery)
お礼
やはりルータの方の設定の問題のようです。いろいろ参考になるご意見などいただきありがとうございます。
お礼
ありがとうございます。 現在検討資料を収集しています。
補足
(1) まず、/var/log/maillogにはどんなメッセージが表示されているか? Mar 3 17:47:38 pc4 sendmail[3029]: h238lco03026: to=yop@frogwork.cc, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30064, relay=mail.frogwork.cc. [210.188.227.163], dsn=5.6.0, stat=Data format error Mar 3 17:47:38 pc4 sendmail[3029]: h238lco03026: h238lcn03029: DSN: Data format error Mar 3 17:47:38 pc4 sendmail[3029]: h238lcn03029: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30164, dsn=2.0.0, stat=Sent (2) メールサーバやルータのFWの確認は?smtpを閉じたりしていないか? (3) sendmailのデーモンは動いているか? # ps ax | grep sendmail 3745 ? S 0:00 sendmail: accepting connections (4) sendmail.cfの元になった、sendmail.mc はどんなふうに定義したか? /etc/mail/sendmail.mcの DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')を コメントアウトしています。あとはデフォルトのままです。 (5) sendmail.cfの中で、/etc/mail/access.dbを有効にしているか? FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl (6) /etc/mail/access.dbの作り方(makemap)は正しいか? makemap hash /etc/mail/access.db < /etc/mail/access (7) メールサーバのローカルで telnet 外部メールサーバ 25 を実行してメールをとばせるか? (8) ローカルのユーザ間でメールは飛ばせるか? 飛ばせます。 (9) メールを受け取る外部サーバが、名前解決できないサーバからのメールを拒否する様になってるとか? なっていません・・・と思います。 (10) sendmail.cf が2箇所にあって、勘違いして関係ない方を修正してるとか? /etc/mail/sendmail.cf と/etc/sendmail.cfなど (補足) ■/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.15 NETMASK=255.255.255.0 ONBOOT=yes NETWORk=192.168.0.0 BROADCAST=192.168.0.255 ■/etc/sysconfig/network NETWORKING=yes HOSTNAME=pc4 GATEWAY=192.168.0.1 現在わかる範囲で書いたのですが、なんとなくルータの設定のような気がしてきました。 ルータの方は別の者が担当しているので、明日にでも聞いてみます。 とりあえず、このテストサーバでは外にメールが送れるだけで良いのですが、その場合 でもルータ側のファイアウォールの設定とかは必要なのだろうか?