/ / OpenPopメッセージの削除-c#、visual-studio、email、pop3、openpop

OpenPopのメッセージを削除する - C#、ビジュアルスタジオ、電子メール、pop3、openpop

メッセージを削除しようとすると、明示的に別の言い方をしていても、一度に4つずつ削除されます。700のメッセージがあるため、最大4つ表示する必要がありました。

public void inboxupdate()
{
client.Connect("pop.googlemail.com", 995, true);
if (client.Connected)
{
client.Authenticate(tbxEmail.Text, tbxPassword.Text, OpenPop.Pop3.AuthenticationMethod.UsernameAndPassword);
}
int MessageCount = client.GetMessageCount();

for (int i = 1; i <= 4; i++ )
{
try
{
cbxInbox.Items.Add(client.GetMessage(i).ToMailMessage().Subject, false);
}
catch
{
}
}
}

削除するコード:

private void btnDelete_Click(object sender, EventArgs e)
{
if (cbxInbox.CheckedItems.Count > 1)
{
for (int i = 1; i <= cbxInbox.CheckedItems.Count; i++)
{
client.DeleteMessage(i + 1);
}
}
cbxInbox.Items.Clear();
client.Disconnect();
inboxupdate();
}

私がやっても

client.DeleteMessage(1)

一度に4つ削除します。 また、これらのメッセージは、mail.google.comにアクセスしたときに最初のページに表示されないため、古いように見えます スパムとメッセージを区別する方法はありますか?

回答:

回答№1は1

Gmailには面白いPOP3実装がいくつかあります。 メッセージをダウンロードすると、次回は表示されません。したがって、問題はおそらくOpenPopが4つのメッセージを削除するのではなく、Gmailがあなたから隠す4つのメッセージをダウンロードすることです。

参照してください GmailがプログラムでPOP3サーバーとして使用されている場合、Gmailはどのような非標準の動作機能を示しますか?

補足事項として、次回質問するときは、質問をして、整理してください。たとえば、なぜコメントアウトされたコードを含めたのですか?

セカンドサイドノート。以下のコードでは、削除する必要のある「マーク」されたメッセージを考慮していません。インデックスを検索してはいけませんか?常に最初に削除されます n ユーザーが選択した場合のアイテム n アイテム、しかし彼が選択した場合 n 最後のアイテム?

if (cbxInbox.CheckedItems.Count > 1)
{
for (int i = 1; i <= cbxInbox.CheckedItems.Count; i++)
{
client.DeleteMessage(i + 1);
}
}

それが役に立てば幸い。