DOBON.NET DOBON.NETプログラミング掲示板過去ログ

メール受信の無限ループについて

環境/言語:[Windows XP Pro C# 2003]
分類:[.NET]

いつもお世話になっております。

今回こちらのサンプルにあるPOP3よりのメール受信プログラムを使用して
受信プログラムを作成しているのですが、無限ループが起こりません。

メール受信時の最終行にピリオドのみの行があればメール終了となるはずなので、
サンプルの方法で無限ループが起こる事があるのかどうかがわかりません。
すでに受信部分で何十回とテストをしているのですが、無限ループが起こりません。
受信自体に時間がかかる事はありますが、時間がかかっても受信はできます。

どなたか無限ループされた方がいらっしゃいましたら、どのような場合に無限ループしてしまうかを教えていただきたいのです。

皆様お忙しいとは思いますが、もしお暇な時間があり、
「このような場合に無限ループになる」
などがわかるのであれば、ご教授頂けないでしょうか。

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

以上
> 今回こちらのサンプルにあるPOP3よりのメール受信プログラムを使用して
> 受信プログラムを作成しているのですが、無限ループが起こりません。

これですね。

DOBON.NET .NET Tips - POP3メールサーバーからメールを受信する
http://dobon.net/vb/dotnet/internet/receivepop3mail.html

正確には無限ループというより、サーバーがすべて送信し終わっても受信を待機し続ける可能性があるということです。

この手のサンプルでは、DataAvailableがTrueの間のみループするというものしか見たことがなかったのですが、それではうまくいかないため、DataAvailableがFalseであってもPOP3の規則からして続きがあると判断した場合はループするようにしています。

つまりサーバーがPOP3の規則を守っていなければ(もしくは私のPOP3の理解が正しくなければ)、問題が発生するかもしれないというわけです。
2006/03/05(Sun) 14:32:15 編集(投稿者)
2006/03/05(Sun) 14:32:11 編集(投稿者)

返信ありがとうございました。

> つまりサーバーがPOP3の規則を守っていなければ(もしくは私のPOP3の理解が正しくなければ)、問題が発生するかもしれないというわけです。

なるほど、納得です。
確かにServer側がおかしければ無限ループする可能性がありますね。
なにも受信してないからずぅ〜っと""しかうけとれなくなるのかな?

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板