IMAP サーバー上のメッセージフラグを管理
.NET 経由の Python 用 Aspose.Email を使用すると、Read、Answered、Deleted、およびカスタムキーワードなどの IMAP メッセージフラグを Python アプリケーションから直接管理できます。これらのフラグはメールボックス内のメールの状態やステータスを示すのに役立ち、整理されたメールワークフローの構築に有用です。
この記事では、以下の方法について説明します:
-
標準 IMAP システムフラグの設定と削除
-
メッセージにカスタムキーワードフラグを割り当てる
キー メソッド 使用:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
サポートされているフラグ:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- カスタムキーワードフラグ
IMAP メッセージフラグを設定
使用する change_message_flags() メソッド( ImapClient メッセージに IsRead や Deleted といった標準フラグを適用するクラスです。このメソッドはメッセージ識別子(シーケンス番号または UID)と1つ以上のフラグを受け取ります。
以下のコードスニペットは、Aspose.Email を使用して IMAP サーバー上のメッセージフラグを設定する方法を示しています:
メッセージフラグを削除
システムフラグまたはカスタムフラグは、以下を使用して削除できます remove_message_flags() メソッド( ImapClient クラスです。これは、メッセージの既読や削除のマークを解除する際に一般的に使用されます。以下のコードサンプルは、1 行のコードだけで ‘is_read’ フラグを削除する方法を示しています:
# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)
IMAP メッセージにカスタムキーワードフラグを追加
Aspose.Email は、カスタムキーワードフラグの割り当てもサポートしています。 add_message_flags() メソッド( ImapClient クラスです。これらのユーザー定義フラグは、カテゴリ分けや処理ルールに役立ちます。
import aspose.email as ae
client = ae.clients.imap.ImapClient("imap.domain.com", 993, "user@domain.com", "pwd", ae.clients.SecurityOptions.SSL_IMPLICIT)
# Create a new message
message = ae.MailMessage("user@domain1.com", "user@domain2.com", "subject", "message")
# Append the message to the Inbox
uid = client.append_message(ae.clients.imap.ImapFolderInfo.IN_BOX, message)
# Add custom keyword flags to the message
client.add_message_flags(uid, ae.clients.imap.ImapMessageFlags.keyword("custom1") | ae.clients.imap.ImapMessageFlags.keyword("custom1_0"))
# Verify the presence of the custom keyword
client.select_folder(ae.clients.imap.ImapFolderInfo.IN_BOX)
messageInfos = client.ListMessages()
for inf in messageInfos:
flags = inf.flags.split()
if inf.contains_keyword("custom1"):
print("Keyword found")