メッセージを削除しようとすると、明示的に別の言い方をしていても、一度に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は1Gmailには面白い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);
}
}
それが役に立てば幸い。