Envié un correo electrónico a mi propia dirección de correo electrónico usando IMAP usando Python 3 a una cuenta de gmail. Lo que hace es agregar un mensaje a un buzón. Necesita utilizar un puñado de bibliotecas nativas de Python. También estudie esto documentation for imaplib, este código aparece en la sección Cargando mensajes: Para agregar un nuevo mensaje a un buzón, construya una instancia de mensaje y páselo al método append(), junto con la marca de tiempo del mensaje.
Luego revisa tu bandeja de entrada de gmail y verás el nuevo mensaje.
import imaplib
import time
import email.message
import imaplib_connect
new_message = email.message.Message()
new_message.set_unixfrom('name')
new_message['Subject'] = 'Test'
new_message['From'] = '[email protected]'
new_message['To'] = '[email protected]'
new_message.set_payload('This is an example message body.\n')
print(new_message)
with imaplib_connect.open_connection() as c:
c.append('INBOX', '',
imaplib.Time2Internaldate(time.time()),
str(new_message).encode('utf-8'))
# Show the headers for all messages in the mailbox
c.select('INBOX')
typ, [msg_ids] = c.search(None, 'ALL')
for num in msg_ids.split():
typ, msg_data = c.fetch(num, '(BODY.PEEK[HEADER])')
for response_part in msg_data:
if isinstance(response_part, tuple):
print('\n{}:'.format(num))
print(response_part[1])
Hay un proyecto de uno de los autores [Trojita] (http://trojita.flaska.net/) que proporcionan esta funcionalidad: https://tools.ietf.org/html/draft-kundrat- imap-submit-02 – Flow