Kelola Flag Pesan di Server IMAP

Aspose.Email untuk Python via .NET memungkinkan Anda mengelola flag pesan IMAP seperti Read, Answered, Deleted, dan Custom Keywords langsung dari aplikasi Python Anda. Flag ini membantu menandai keadaan atau status pesan email di kotak surat dan berguna untuk membangun alur kerja email yang terorganisir.

Artikel ini membahas cara:

  • Atur dan hapus flag sistem IMAP standar

  • Tetapkan flag kata kunci khusus ke pesan

Kunci metode digunakan:

  • change_message_flags()
  • remove_message_flags()
  • add_message_flags()

Flag yang Didukung:

  • Answered
  • Deleted
  • Draft
  • Flagged
  • IsRead
  • Recent
  • Flag kata kunci khusus

Atur Flag Pesan IMAP

Gunakan change_message_flags() metode dari ImapClient kelas untuk menerapkan flag standar seperti IsRead atau Deleted pada pesan. Metode ini mengambil pengidentifikasi pesan (nomor urut atau UID) dan satu atau lebih flag.

Potongan kode berikut menunjukkan cara mengatur flag pesan pada server IMAP dengan Aspose.Email:

Hapus Flag Pesan

Anda dapat menghapus flag sistem atau khusus menggunakan remove_message_flags() metode dari ImapClient kelas. Ini biasanya digunakan untuk menghapus tanda pesan sebagai dibaca atau dihapus. Contoh kode di bawah ini menunjukkan cara menghapus flag ‘is_read’ hanya dengan satu baris kode:

# Remove the 'is_read' flag from the message
client.remove_message_flags(1, ae.clients.imap.ImapMessageFlags.is_read)

Tambahkan Flag Kata Kunci Khusus ke Pesan IMAP

Aspose.Email juga mendukung penetapan flag kata kunci khusus menggunakan add_message_flags() metode dari ImapClient kelas. Flag yang didefinisikan pengguna ini dapat berguna untuk kategori atau aturan pemrosesan.

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")