如何使用imaplib创建电子邮件并将其发送到特定邮箱

时间:2010-09-22 13:28:50

标签: python imaplib

我正在尝试使用python的imaplib来创建电子邮件并将其发送到具有特定名称的邮箱,例如收件箱。任何人都有一些很好的建议:)。

4 个答案:

答案 0 :(得分:9)

IMAP协议不是为发送电子邮件而设计的。它旨在操纵邮箱。

要创建电子邮件并发送,您可以使用SMTP,如smtplib

要将邮箱中已有的电子邮件从一个文件夹移动到另一个文件夹,您可以将邮件复制到所需的文件夹,然后使用uid将其从旧邮件中删除,如答案{{3} }。

答案 1 :(得分:6)

您可以使用Python的内置imaplib模块和append()命令将邮件消息附加到IMAP文件夹:

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

答案 2 :(得分:0)

由于我尚无法评论user3556956的评论,因此以下是python3的答案:

connection.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(new_message).encode('utf-8'))

简而言之,您必须以字节而不是python字符串的形式传递消息。

答案 3 :(得分:-5)

不知道他们是如何做到的但是Microsoft Outlook是否允许您将电子邮件从本地文件夹移动到远程IMAP文件夹?