IMAP Sunucusunda Mesaj Bayraklarını Yönet

ASP.NET üzerinden Python için Aspose.Email, Read, Answered, Deleted ve Custom Keywords gibi IMAP mesaj bayraklarını doğrudan Python uygulamanızdan yönetmenizi sağlar. Bu bayraklar, posta kutusundaki e-posta mesajlarının durumunu işaretlemeye yardımcı olur ve düzenli e-posta iş akışları oluşturmak için faydalıdır.

Bu makale şunların nasıl yapılacağını kapsar:

  • Standart IMAP sistem bayraklarını ayarla ve kaldır

  • Mesajlara özel anahtar kelime bayrakları ata

Anahtar yöntemler kullanıldı:

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

Desteklenen Bayraklar:

  • Answered
  • Deleted
  • Draft
  • Flagged
  • IsRead
  • Recent
  • Özel anahtar kelime bayrakları

IMAP Mesaj Bayraklarını Ayarla

Kullan change_message_flags() metodu ImapClient mesajlara IsRead veya Deleted gibi standart bayraklar uygulamak için sınıf. Bu yöntem, bir mesaj tanımlayıcısını (sıra numarası veya UID) ve bir veya daha fazla bayrağı alır.

Aşağıdaki kod parçacığı, Aspose.Email kullanarak bir IMAP sunucusunda mesaj bayraklarını nasıl ayarlayacağınızı gösterir:

Mesaj Bayraklarını Kaldır

Sistem veya özel bayrakları şunu kullanarak kaldırabilirsiniz remove_message_flags() metodu ImapClient sınıf. Bu, genellikle mesajların okundu veya silindi işaretini kaldırmak için kullanılır. Aşağıdaki kod örneği, ‘is_read’ bayrağını sadece bir satır kodla nasıl kaldıracağınızı gösterir:

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

IMAP Mesajlarına Özel Anahtar Kelime Bayrakları Ekle

Aspose.Email, ayrıca özel anahtar kelime bayrakları atamayı da destekler add_message_flags() metodu ImapClient sınıf. Bu kullanıcı tanımlı bayraklar, sınıflandırma veya işleme kuralları için faydalı olabilir.

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