dポイントプレゼントキャンペーン実施中!

SocketでPOP3サーバーにアクセスして、コマンドを
送った際の戻り値を変数に代入したいのですが、
下記の方法でうまくいきません。

While(<Socket>)
{
push(@test,$_);
}
print"@test";

telnetを使ってそのPOP3サーバーにアクセスすると
正常にアクセスしてログイン後メール内容を見る
ことができます。While文がうまく動作していない
みたいなのですが・・・。
ブラウザがずっとアクセスしてて画面が表示されません。

WinXP, Apache, Perl5.8.4

よろしくお願い致します。

A 回答 (3件)

もう見ていらっしゃらないかもしれませんが…。

↓のURLは、
#1のURLのプログラムを参考にしたスクリプトです。
print S "USER $StrUsr\r\n";
print S "PASS $StrPsw\r\n"; の後に、
print <S> ."\n";
を付け加えると動きました。
しつこく失礼致しました。

参考URL:http://www.kurumi.sakura.ne.jp/~kumicyou/Cnt/Mem …
    • good
    • 0

再度失礼致します。


私はperlでPOP3クライアントを作ったことがないので、
見当違いの意見だったようですね。申し訳ありません。
ご質問文の内容だけでは他の可能性を考えるのが難しいので、
よろしければ、スクリプトの他の部分と現在の動作結果を
お教えいただけませんか?
私の勉強のためのお願いに近いので、お時間がありましたらで構いません。

ちなみに当方では以下のURLにあるスクリプトは動作確認できました。

参考URL:http://joe.ash.or.jp/pc/netprog/
    • good
    • 0

以下のURLを見ると、while文のループの中にループを抜ける条件があるので、


もしかしたらソレが足りないなどでしょうか…。
他にも、「perl POP3 socket」で検索すると参考になりそうなサイトがありましたので
ご参照ください。
ご参考までに。

参考URL:http://x68000.q-e-d.net/~68user/net/pop3-2.html
    • good
    • 0
この回答へのお礼

ありがとうございます。そのサイトも見たのですが、条件を入れてもうまく動作しませんでした。
あきらめてPHPでやってみます。
ありがとうございました。

お礼日時:2004/08/31 10:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!