Enviar correo electrónico en Python

Najwa Riyaz 12 octubre 2021 Python Python SMTP
Enviar correo electrónico en Python

Para enviar un correo electrónico usando Python, use las siguientes funciones de la biblioteca smtplib.

  • SMTP(SMTP_SERVER, SMTP_PORT) - crea una sesión SMTP según el servidor SMTP y los detalles del puerto SMTP.
  • starttls() - para iniciar el TLS para la configuración de seguridad.
  • login(SMTP_USERNAME, SMTP_PASSWORD) - para proporcionar los detalles de autenticación del remitente del correo electrónico.
  • sendmail(EMAIL_FROM, EMAIL_TO, the_message) - para enviar el mensaje del Remitente al Receptor.
  • quit() para salir de la sesión SMTP.

A continuación, se muestra un ejemplo que demuestra el envío de correo a través del servidor SMTP de Gmail.

import smtplib

SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SMTP_USERNAME = "sender_username_here@gmail.com"
SMTP_PASSWORD = "sender_password_here"
EMAIL_FROM = "sender_username_here@gmail.com"
EMAIL_TO = "receiver_username_here@gmail.com"
EMAIL_SUBJECT = "Attention:Subject here"
EMAIL_MESSAGE = "The message here"

s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
s.starttls()
s.login(SMTP_USERNAME, SMTP_PASSWORD)
message = "Subject: {}\n\n{}".format(EMAIL_SUBJECT, EMAIL_MESSAGE)
s.sendmail(EMAIL_FROM, EMAIL_TO, message)
s.quit()

La salida puede tener el siguiente aspecto según la conexión construida en ese punto de su sistema:

(221, b"2.0.0 closing connection t12sm4676768pfc.133 - gsmtp")

Como resultado, se envía el correo electrónico. El receptor recibe el mensaje con éxito.

Nota:

  • En el caso de Gmail, proporcione los siguientes detalles de SMTP:
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587

Además, la siguiente configuración debe estar habilitada en Gmail antes de ejecutar el código.

https://myaccount.google.com/lesssecureapps
  • En el caso de Yahoo Mail, proporcione los siguientes detalles de SMTP:
SMTP_SERVER = "smtp.mail.yahoo.com"
SMTP_PORT = 587

Además, genere una contraseña de la aplicación de Yahoo antes de ejecutar el código. Consulte el enlace a continuación.

https://help.yahoo.com/kb/generate-separate-password-sln15241.html

  • Del mismo modo, si desea utilizar cualquier otro proveedor de correo, utilice sus respectivos detalles y requisitos previos del servidor SMTP.
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete