I am trying to use python's imaplib to create an email and send it to a mailbox with specific name, e.g. INBOX. Anyone has some great suggestion :).
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The IMAP protocol is not designed to send emails. It is designed to manipulate mailboxes.
To create an email and send it you can use SMTP, as in smtplib.
To move an email that is already in a mailbox from one folder to another, you can copy the mail to the needed folder and delete it from the old one using uid
, as in the answer here.
回答2:
You can use Python's built-in imaplib
module and the append()
command to append a mail message to an IMAP folder:
import imaplib
connection = imaplib.IMAP4_SSL(HOSTNAME)
connection.login(USERNAME, PASSWORD)
new_message = email.message.Message()
new_message["From"] = "hello@itsme.com"
new_message["Subject"] = "My new mail."
new_message.set_payload("This is my message.")
connection.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(new_message))
- The official imaplib documentation.
- More detailed examples of using imaplib.
回答3:
No idea how they do it but doesn't Microsoft Outlook let you move an email from a local folder to a remote IMAP folder?