5

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

4

4 回答 4

11

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

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

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

于 2010-09-22T13:44:22.067 回答
7

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

import imaplib
from email.message import Message
from time import time

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

new_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()), str(new_message).encode('utf-8'))
于 2013-06-09T08:41:07.000 回答
0

由于我还不能评论 user3556956 的评论,这里是 python3 的答案:

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

简而言之,您必须将消息作为字节而不是 python 字符串传递。

于 2019-06-03T15:13:57.277 回答
-6

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

于 2010-09-24T12:51:25.373 回答