|
>>2366 kuw >LIST の返事に、"." のみの行がなかったのです。 補足です。 その時は、LIST のかわりに STAT を使うようにして回避しました。 |
|
>>2365わたなべ 早速ありがとうございます。 試してみましたが、状況は変わりません。 環境は、Windows2000のクライアントで、サーバーはFreeBSDです。 telnet pop.nifty.com 110 USER ****** PASS ****** LIST とやる分には、NIFTYでもちゃんとリストされます。 print "[$_]";を追加してみると [+OK <**********> ][+OK ][+OK と表示されます。 print $_; にしてみると、 +OK <**********> +OK +OK で止まってしまいます。 いづれも、Ctrl+Cで終了しないと終わりません。 ところがiij4uでは、 +OK IIJ ************ +OK ************ +OK ************ +OK 5 messages**** と言う感じで正常に動いています。 尚、binmode(SOCKET);を追加してみても状況に変化はありません。 iij4uとNIFTYの差は、+OKの後にiij4uの方は文字があるのですが、NIFTYは何も無いことぐらいです。 att.ne.jpでも動きませんでした。 もちろんtelnetで直接タイプすればリストも問題ありません。 よろしくお願いします。 |
|
>>2364わたなべ kuwさんありがとうございます。 STATを使う件、本日世が明けたら試してみます。 ありがとうございます。 |
|
>>2366 kuw > LIST の返事に、"." のみの行がなかったのです。 >> +OK 0 message (0 octets) >> 0 messages (0 octets) なるほど。もう少し詳しくお聞かせ下さい。 それは mail box にメールがたまっていなかったときのみ . が ないのでしょうか? あるいはメールがたまっていても . がない のでしょうか? また、その POP3 サーバアプリケーションの名前は 何かわかりますか? ちなみに . をもってレスポンスの終了と見なしている根拠は http://ring.ip-kyoto.ad.jp/pub/doc/RFC/rfc1939.txt > When all lines of the response have been sent, a > final line is sent, consisting of a termination octet (decimal code > 046, ".") and a CRLF pair. > Examples: > C: LIST > S: +OK 2 messages (320 octets) > S: 1 120 > S: 2 200 > S: . です。 |
|
>>2370 68user >それは mail box にメールがたまっていなかったときのみ . が >ないのでしょうか? あるいはメールがたまっていても . がない >のでしょうか? メールがたまっていなかったときのみです。 メールがたまっているときは、 > +OK 1 messages (1146 octets) > 1 1146 > . となります。 >また、その POP3 サーバアプリケーションの名前は >何かわかりますか? EMWAC の IMS POP3 Server 0.87 です。 5, 6 年前に NT にインストールして以来、そのまま使っているので、 かなり古いものだと思います。 # この数年、NT を全くいじっていないので、最近の事情はわかりませんが・・・ >ちなみに . をもってレスポンスの終了と見なしている もちろん、これは正しい仕様だと思いますし、 同じ仕様の MUA やメールチェッカーも多いと思います。 |
|
>>2364わたなべ おはようございます。 昨日の続きですが、下記のようシンプルにしてテストしてみましたが、状況に変化はありませんでした。 よろしく御願いします。 --------------------------------------------- print SOCKET "USER $username\r\n"; print SOCKET "PASS $passwd\r\n"; print SOCKET "LIST\r\n"; while (<SOCKET>){ m/^\.\r\n$/ && last; print $_; } print SOCKET "QUIT\r\n"; --------------------------------------------- 上記の結果 ■AT&Tに接続した場合 +OK <283**.10082***86@mail.att.ne.jp> +OK +OK (ここで止まってしまうので Ctrl+C) ^C % ■iij4uに接続した場合 +OK IIJ POP3 Server (**.iij4u.or.jp) starting. <128**.1008***94@**.iij4u.or.jp> +OK Password required: ******@**.iij4u.or.jp +OK ******@**.iij4u.or.jp has 2 messages (2182 octets) +OK 2 messages (2182 octets) % ------------------------------------------------------------------------------- ■telnetでAT&Tに接続した場合 telnet ***.att.ne.jp 110 +OK <283**.10082***86@mail.att.ne.jp> USER ******** +OK PASS ******** +OK LIST +OK 1 958 2 960 . QUIT +OK ■telnetでiij4uに接続した場合 telnet **.iij4u.or.jp 110 +OK IIJ POP3 Server (**.iij4u.or.jp) starting. <128**.1008***94@**.iij4u.or.jp> USER ******** +OK Password required: ******@**.iij4u.or.jp PASS ******** +OK ******@**.iij4u.or.jp has 2 messages (2182 octets) LIST +OK 2 messages (2182 octets) 1 1090 2 1092 . QUIT +OK IIJ POP3 Server (w/mdir) (m-**.iij4u.or.jp) signing off |