2010-09-22 37 views

Répondre

8

Le protocole IMAP n'est pas conçu pour envoyer des e-mails. Il est conçu pour manipuler les boîtes aux lettres.

Pour créer un e-mail et l'envoyer, vous pouvez utiliser SMTP, comme dans smtplib.

Pour déplacer un e-mail déjà dans une boîte aux lettres d'un dossier vers un autre, vous pouvez copier le courrier dans le dossier souhaité et le supprimer de l'ancien en utilisant uid, comme dans la réponse here.

+0

thk :), mais puis-je créer un e-mail dans une boîte aux lettres spécifique en utilisant imaplib? – vernomcrp

+0

@vernomcrp: Non, car comme je l'ai expliqué, imaplib ne peut pas être utilisé pour créer des emails. Vous pouvez d'abord envoyer l'email puis le déplacer comme ci-dessus. –

-5

Aucune idée de comment ils le font mais Microsoft Outlook ne vous permet pas de déplacer un e-mail d'un dossier local vers un dossier IMAP distant?

4

Vous pouvez utiliser le module de Python imaplib intégré et la commande append() pour ajouter un message à un dossier IMAP:

import imaplib 

connection = imaplib.IMAP4_SSL(HOSTNAME) 
connection.login(USERNAME, PASSWORD) 

new_message = email.message.Message() 
new_message["From"] = "[email protected]" 
new_message["Subject"] = "My new mail." 
new_message.set_payload("This is my message.") 

connection.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(new_message))