The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン 接続しなく、メール削除が可能ですか
日時: 2011/04/02 07:31
名前:

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

c#開発環境
問題:接続を維持しない状態で、時々メールを削除しませんでした。

 解決方法をお願いします。  
  
//★メール受信処理
//POPクライアントクラスの定義
  TKMP.Net.PopClient pop = new TKMP.Net.PopClient(logon , address , port);
  //メール受信詳細処理
  (略)

  //接続を維持しない
  pop.KeepAlive = false;


//★メール削除処理
  //指定されたメールを削除処理(例,10通メールがある)
  pop.MailDatas[3].delete();
  pop.MailDatas[5].delete();

  pop.Close();
  pop = null;
  //メール削除後、メール再受信
   (略)
  

よろしくお願いします。

Page: 1 |

ファイル Re: 接続を維持しない状態で、メール削除 ( No.1 )
日時: 2011/03/22 23:10
名前: Toki◆pRU.c9X.EOI

POP3プロトコルではメールの削除は切断時のQUITコマンドのタイミングで行われます。

メール削除コマンドのDELEを発信した時点では、メールに削除フラグを立てるだけで、
実際の削除は行われていません。

TKMPもこのルール上でサーバーへのコマンド発行を行っているので、
TKMP.Net.MailData.Deleteメソッドを実行してもすぐに削除が行われないため、
その後に、無通信でサーバーがタイムアウトとなると削除は取り消されてしまいます。

接続維持はこれを回避するためのものなので、
メール取得、削除と切断までが連続的に行われない場合は、
TKMP.Net.PopClient.KeepAliveをfalseにするのは推奨できません。

そもそも、このプロパティをtrueにしても一定の無通信時間を監視して
noopコマンドを発行するだけなので、通信処理に影響は有りませんから、
特別な理由が無い限りtrueで問題ないと思います。
ファイル Re: 接続を維持しない状態で、メール削除 ( No.2 )
日時: 2011/03/24 08:00
名前:

お忙しい所、ご返信頂きまして、誠に有難う御座います。

よく分かりました。

次の質問
 通常のメール送受信ソフトで、メールを削除すれば、メールがすぐに削除されます。
そうすると、QUITコマンドのタイミングではなく、すぐに削除できませんか。

Page: 1 |