Как создать электронную почту и отправить его на определенный почтовый ящик с imaplib

StackOverflow https://stackoverflow.com/questions/3769701

  •  04-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать iMaplib Python для создания электронного письма и отправить его в почтовый ящик с определенным именем, например, входящим. У кого-нибудь есть отличное предложение :).

Это было полезно?

Решение

Протокол IMAP не предназначен для отправки электронных писем. Он предназначен для манипулирования почтовыми ящиками.

Чтобы создать электронную почту и отправить его, вы можете использовать SMTP, как в smtplib..

Чтобы переместить электронное письмо, которое уже в почтовом ящике из одной папки на другой, вы можете скопировать почту в нужную папку и удалить ее от старого, используя uid, как в ответ здесь.

Другие советы

Вы можете использовать встроенный 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))

Поскольку я еще не могу комментировать комментарий user3556956, вот ответ на python3:

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

Короче говоря, вы должны пройти сообщение как байт вместо строки Python.

Ничего не знаю, как они это делают, но не Microsoft Outlook не позволяет вам переместить электронную почту из локальной папки в удаленную папку IMAP?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top