aggiungere un'intestazione RFC822 personalizzato tramite IMAP?
Domanda
C'è un modo semplice per aggiungere un'intestazione RFC822 personalizzata a un messaggio su un server IMAP con imaplib?
Sto scrivendo un programma basato su Python che filtra il mio archivio di posta IMAP. Quando ho fatto questo con Procmail ho avuto la possibilità di aggiungere intestazioni. Ma non sembra essere un modo per farlo con l'implementazione IMAP Python.
In particolare, voglio aggiungere un header personalizzato come:
X-VY32-STATUS: Very Cool
In modo che appare nelle intestazioni di posta:
To: vy32@stackoverflow.com
From: Yo@mama.com
Subject: Test Message
X-VY32-STATUS: Very Cool
The regular message is down here.
Soluzione
Una migliore opzione sarebbe quella di utilizzare le bandiere server personalizzati chiamati parole chiave.
Una parola chiave è definito dalla implementazione del server. Parole non iniziano con "\". Server può consentire al cliente di definire nuove parole chiave nella casella di posta.
Per aggiungere Merker al messaggio che si può usare
STORE number +FLAGS (myflag)
per la ricerca:
SEARCH KEYWORD myflag
Si tenga presente che alcuni server non permettono bandiere personalizzate.
Altri suggerimenti
Non credo RFC 2060 permette la modifica delle intestazioni di posta ricevuti. Se si vuole modificare l'intestazione di risposta di posta questo può essere fatto con il pacchetto email
.