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