如何使用 Python 在 IMAP 服务器上创建草稿邮件

使用此 Python 脚本在你的 IMAP 服务器上创建草稿邮件。邮件不会自动发送,只存储在你的草稿文件夹中。

create-draft-imap.py
#!/usr/bin/env python3
import imaplib
import ssl
import email.message
import email.charset
import time

tls_context = ssl.create_default_context()

server = imaplib.IMAP4('imap.mydomain.com')
server.starttls(ssl_context=tls_context)
server.login('email@mydomain.com', 'password')
# 选择邮箱
server.select("INBOX.Drafts")
# 创建消息
new_message = email.message.Message()
new_message["From"] = "Your name <sender@mydomain.com>"
new_message["To"] = "Name of Recipient <recpient@mydomain.com>"
new_message["Subject"] = "Your subject"
new_message.set_payload("""
这是你的消息。
它可以有多行并且
包含特殊字符:äöü。
""")
# 通过设置我们稍后用于编码消息的相同编码来修复特殊字符
new_message.set_charset(email.charset.Charset("utf-8"))
encoded_message = str(new_message).encode("utf-8")
server.append('INBOX.Drafts', '', imaplib.Time2Internaldate(time.time()), encoded_message)
# 清理
server.close()

另请参见最小 Python IMAP over TLS 示例


Check out similar posts by category: Python