• 締切済み

postfixで外部から内部へのメールが受信できない

こんにちは linux debianを使って最近サーバーを構築している者です 現在postfixを使って外部からのメールを受信できるようにしたいのですが、送信は出来るのですが受信が出来ずつまっています。。。 どなたかアドバイスいただければと思います 以下main.cfです myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name biff = no append_dot_mydomain = no smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache myhostname = xxx.xxx.xxx.xx.jp alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases relayhost = mynetworks = xxx.xxx.xxx.xxx/x,xxx.xxx.xxx.xxx mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all mydestination = xxx.xxx.xxx.xxx.jp, localhost.xxx.xxx.xxx.xxx.jp, localhost となっています その他必要な情報がありましたらご指摘いただければと思います 外部からメールを送信すると、外部のメーラーにエラーメールが返ってきます mail deliverly error The following message to <USER_NAME@xxx.xxx.xxx.xxx.jp> was undeliverable. The reason for the problem: 5.1.0 - Unknown address error 550-'5.1.1 <USER_NAME@xxx.xxx.xxx.xxx.jp>... User unknown' 内部から内部へはうまく送受信できています どうぞよろしくお願いいたします

みんなの回答

  • kusa_mochi
  • ベストアンサー率76% (1597/2087)
回答No.4

>となり成功しますが、Qpopperとなるのは大丈夫なのでしょうか??(postfixじゃない)  Qpopper となるという事は、応答を返しているPCのPOP3サーバがQpopperだと言う事です。  そのサーバにQpopperがインストールされていますか?  インストールされていないようなら、別のサーバと接続しているのではないかと思えますが。  【Qpopper】   http://www.emaillab.org/djb/qmail-pop/qpopper.html 質問主殿がどの程度のスキルをお持ちなのか判らないので、もしかすると釈迦に説法かもしれませんが(その際は読み飛ばしてください)、外部側発信のセッションを受けるにはルーターに対してそのアクセスをサーバに転送するよう設定する必要があります。 (内部から発信するセッションの場合は不要) 質問主殿がネットワークに関して詳しくないのであれば、xxxというグローバルIPに対するSMTPポートのアクセスを問題のサーバに転送するように設定を「ネットワーク管理者」に依頼しましたか? #御自分でも設定していなくて、「ネットワーク管理者」に依頼もしていない状況なら絶対にそのサーバに外からアクセス出来ません

  • kusa_mochi
  • ベストアンサー率76% (1597/2087)
回答No.3

考えられるのは  ・iptablesでブロックされている  ・外部からのSMTPポートの通信がそのPCまで届いていない でしょうか。 iptablesのチェックは直ぐに出来ると思います。 外部からのSMTPポートの通信がそのPCまで届いているかは、インターネット側から  http://support.microsoft.com/kb/153119 のようなテストをしてみれば直ぐに判るのでは。 (もしも届かない場合、理由はネットワーク構成にあると思うのですが、それに関してはもっと詳しいネットワーク構成情報が出てこないと第三者からはコメントできないと思います) #ポートマッピングで一部ポートだけ割り付けているのか、グローバルIP自体がそのPCのNICに割り付いているのか  

ivviv2007
質問者

お礼

ご回答ありがとうございます >・iptablesでブロックされている こちらに関しましてはまったく設定していなかったので多少設定しました。 下記のようにポートを開けるように設定しました # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --dport 21 -j ACCEPT # iptables -A INPUT -p tcp --dport 110 -j ACCEPT # iptables -A INPUT -p tcp --dport 25 -j ACCEPT > ・外部からのSMTPポートの通信がそのPCまで届いていない これが問題かと思われます 25番を指定すると telnet xxx.xxx.xxx.xx.jp 25 接続中: xxx.xxx.xxx.xx.jp...ホストへ接続できませんでした。 ポート番号 25: 接続に失敗しました となり接続に失敗します ちなみに110番は +OK Qpopper (version 4.0.5) at xxx.xxx.xxx.xx.jp starting. <xxx.xxxxx xx@xxxx.xxx.xxx.xx.jp> となり成功しますが、Qpopperとなるのは大丈夫なのでしょうか??(postfixじゃない) ちなみにここで思い出したのですが、メールを送る際もsendmailをsendmail.OFFのように名前を変更しておくと送ることが出来ずにエラーが返ってきます。。。 色んなことが怪しく思えてきてどこが悪いのか良くわからなくなってきてしまいます。。。 本当に申し訳ないのですが、またまたどうぞよろしくお願いいたします

回答No.2

#1です。 > 内部から内部へはうまく送受信できています 見落としていました。 内部から内部、と言うのはどういう事ですか? サーバ内、それともLAN内? 外部から、と言うのは、外部から直接そのサーバにSMTP接続しているのか、それとも別のSMTPサーバからそのサーバにメールを転送しているのかによっても違ってきます。 Postfixの設定以外にもいくつかチェックすべき事を列記してみます。 1. そもそもあなたのサーバはインターネットに出ていますか?ドメインは有効になっていますか?SMTPプロトコルで外部からアクセス可能ですか? 2. 内部(同一ネットワーク内)から別のクライアントからSMTPサーバとして接続し、受信すべきドメインにメールした時にメールが振り分けられますか?振り分けられれば#1のprocmail等はあまり関係無くなります。 3. 接続プロバイダのOP25B対策はどうなっていますか? メールプロトコルはかなり複雑なので、問題の切り分けをしっかりしていきましよう。

ivviv2007
質問者

お礼

早速のご回答またまたありがとうございます! 心強いです ちょっと長くなってしまいましたので2つに分けます >内部から内部、と言うのはどういう事ですか? >サーバ内、それともLAN内? すみません 説明不足でした サーバー内のユーザーを2つ作ってそのユーザー同士ではメールの送受信がうまくいっています >外部から、と言うのは、外部から直接そのサーバにSMTP接続しているの >それとも別のSMTPサーバからそのサーバにメールを転送しているのかに >よっても違ってきます。 直接そのサーバーにSMTP接続しているのだと思います 具体的にはサーバー室にサーバーを設置し、SSHでサーバーと通信し設定を行っています メールは自宅から携帯電話や自分のメーラー(yahooメールなどでも実験)から直接サーバーのアドレス(USER_NAME@xxx.xxx.xxx.xxx.jp)に送信しております >Postfixの設定以外にもいくつかチェックすべき事を列記してみます。 >1. そもそもあなたのサーバはインターネットに出ていますか?ドメインは有効になっていますか?SMTPプロトコルで外部からアクセス可能ですか? サーバーはインターネットに出ております webサーバーを立ち上げており、そこにはアクセス可能ですし、global IPを取ってあり、SSHで外部から通信できます

ivviv2007
質問者

補足

>SMTPプロトコルで外部からアクセス可能ですか この辺が怪しいのかな、という気もするのですが、SMTPプロトコルで外部からのアクセスとはどのように確認すればよろしいのでしょうか? 調べたところ、iptables.shに詳細が書かれているとの事でしたが、debian内にiptables.shが見当たらず、またまた困ってしまっています telnetで25番ポート、110番ポートへアクセスしてみたところ、こちらのほうはうまく行っているようです。 下記に結果を記述します User_NAME:/etc# telnet xxx.xxx.xxx.xx.jp 25 Trying 127.0.1.1... Connected to xxx.xxx.xxx.xx.jp. Escape character is '^]'. Connection closed by foreign host. User_NAME:/etc# telnet xxx.xxx.xxx.xx.jp 110 Trying 127.0.1.1... Connected to xxx.xxx.xxx.xx.jp. Escape character is '^]'. +OK Qpopper (version 4.0.5) at xxx.xxx.xxx.xxx.jp starting. <xxx.xxx@xxx.xxx.xxx.xx.jp> >2. 内部(同一ネットワーク内)から別のクライアントからSMTPサーバと >して接続し、受信すべきドメインにメールした時にメールが振り分けられ >ますか?振り分けられれば#1のprocmail等はあまり関係無くなります。 同一ネットワーク内で試したことがないので(ちょっと遠い場所にあり)分からないのですが、3日ほど前にメールを同一LAN内で送ったところ、やはり送れていませんでした 同一サーバー内部では受信すべきドメインにメールしたときにメールが振り分けられていました 3. 接続プロバイダのOP25B対策はどうなっていますか? こちらのほうも可能性があります webで確認したところ、587番を使って下さいとのことが書かれていました 現在調べています ただ、OP25Bの場合、受信時は問題なく取れて、送信が出来なくなった気がしたのですがそのようなことはないのでしょうか? >メールプロトコルはかなり複雑なので、問題の切り分けをしっかりしてい >きましよう。 ありがとうございます! 本当ややこしいですね・・・ 親切にアドバイスいただきありがとうございます またまたアドバイスいただければと思います

回答No.1

サーバまでは届いて、メールの振り分け部分で、エラーが起こっていますね。 と言う事で、mydomain やmydestination等は問題無いと思われます。 振り分けは、 > mailbox_command = procmail -a "$EXTENSION" で振り分けせよ、と書いてありますが、procmailrcにルールを書いてやる必要がありますが、やっていますか? UNIXユーザに転送だけなら、コメントアウトするだけでも期待した動作になるかもしれません。 下記参考にしてみて下さい。 http://www.aconus.com/~oyaji/bbs/past/0008/B0005003.html http://www.club.kyutech.ac.jp/support/manual/procmail.html

ivviv2007
質問者

お礼

早速の回答ありがとうございます procmailに関するレシピは一切行っておりませんでしたのでコメントアウトして早速試してみました #mailbox_command = procmail -a "$EXTENSION" としたのですが、やはりメールを受信できないようです 参考になるかどうかはわからない情報ですが、/var/log/mail.log を見ると、送信に関するログは出ており、送信がうまくいっているようなことが書いてあるのですが、受信に関するログが一切書かれていませんでした アドバイスいただけますようよろしくお願いいたします