在 IMAP 服务器上管理邮件标记
Contents
[
Hide
]
通过 .NET 的 Aspose.Email for Python 允许您直接在 Python 应用程序中管理 IMAP 邮件标记,如已读、已答复、已删除和自定义关键字。这些标记帮助标记邮箱中邮件的状态或情形,对构建有序的邮件工作流非常有用。
本文介绍如何:
-
设置和移除标准 IMAP 系统标记
-
为邮件分配自定义关键字标记
键 方法 使用:
- change_message_flags()
- remove_message_flags()
- add_message_flags()
支持的标记:
- Answered
- Deleted
- Draft
- Flagged
- IsRead
- Recent
- 自定义关键字标记
设置 IMAP 邮件标记
使用 change_message_flags() 方法的 ImapClient 类,用于对邮件应用标准标记,如 IsRead 或 Deleted。此方法接受邮件标识符(序列号或 UID)以及一个或多个标记。
下面的代码片段展示了如何使用 Aspose.Email 在 IMAP 服务器上设置邮件标记:
移除邮件标记
您可以使用 remove_message_flags() 方法的 ImapClient 类。通常用于取消标记为已读或已删除。下面的代码示例演示了如何仅用一行代码移除 ‘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")