IMAP サーバー上でメッセージフラグを設定、変更、削除
Contents
[
Hide
]
メッセージフラグの設定/変更
新しいフラグを設定してメッセージフラグを変更できます。 ChangeMessageFlags() メソッド。このメソッドは2つのパラメータを受け取ります。
- メッセージのシーケンス番号またはユニーク ID。
- MessageFlag.
次のフラグを設定できます:
以下のコードスニペットは、Aspose.Email を使用して IMAP サーバー上でメッセージフラグを変更する方法を示しています。
// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);
メッセージフラグを削除
メッセージフラグは次でも削除できます。 RemoveMessageFlags() メソッドです。使用方法は同様です。 ChangeMessageFlags() メソッドです。シーケンス番号またはユニークメッセージ ID を受け取ります。 MessageFlag以下のコードスニペットは、メッセージフラグを削除する方法を示しています。
// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);
カスタムフラグを設定
カスタムフラグをメッセージに設定するには、次の方法も使用できます。 ImapClient API の一部です。ImapClient の AddMessageFlags は、メッセージにカスタムフラグを設定する機能を提供します。
// Create a message
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "subject", "message");
//Append the message to mailbox
string uid = client.AppendMessage(ImapFolderInfo.InBox, message);
//Add custom flags to the added messge
client.AddMessageFlags(uid, ImapMessageFlags.Keyword("custom1") | ImapMessageFlags.Keyword("custom1_0"));
//Retreive the messages for checking the presence of custom flag
client.SelectFolder(ImapFolderInfo.InBox);
ImapMessageInfoCollection messageInfos = client.ListMessages();
foreach (var inf in messageInfos)
{
ImapMessageFlags[] flags = inf.Flags.Split();
if (inf.ContainsKeyword("custom1"))
Console.WriteLine("Keyword found");
}