Skip to main content

Primeros pasos

En Python, hay varias formas de enviar correos electrónicos:

  1. smtplib: Utilizando el protocolo SMTP, smtplib permite enviar correos electrónicos a través de servidores SMTP. Es la forma más común de enviar correos electrónicos en Python.

  2. email: Esta biblioteca estándar de Python se utiliza junto con smtplib para crear correos electrónicos con diferentes formatos (texto plano, HTML, imágenes, adjuntos, etc.).

  3. Librerías de terceros:

    • yagmail: Es una biblioteca que simplifica el envío de correos electrónicos, especialmente con Gmail. Ofrece una interfaz más fácil de usar para enviar correos con contenido HTML y adjuntos.
    • Flask-Mail: Para aplicaciones web con Flask, Flask-Mail facilita la integración del envío de correos electrónicos.

Estas son las formas más comunes de enviar correos electrónicos con Python. La elección de la biblioteca depende de tus necesidades y preferencias.

Obteniendo credenciales para enviar correos electrónicos​

Google (Gmail)​

Para enviar correos electrónicos desde una cuenta de Gmail utilizando SMTP, necesitas conocer la configuración del servidor SMTP de Google:

  • Servidor SMTP: smtp.gmail.com
  • Puerto:
    • 587 para conexiones TLS (Transport Layer Security).
    • 465 para conexiones SSL (Secure Sockets Layer).

Gmail requiere autenticación mediante el uso de una dirección de correo electrónico y contraseña, o el uso de una contraseña de aplicación (App Password) si tienes habilitada la verificación en dos pasos.

Microsoft (Outlook/Office 365)​

Para enviar correos electrónicos desde una cuenta de Outlook o una cuenta de Office 365 utilizando SMTP, necesitas conocer la configuración del servidor SMTP de Microsoft:

  • Servidor SMTP: smtp.office365.com o smtp.outlook.com (ambos funcionan)
  • Puerto:
    • 587 para conexiones TLS (Transport Layer Security).
    • 465 para conexiones SSL (Secure Sockets Layer).

Al igual que Gmail, Microsoft requiere autenticación mediante el uso de una dirección de correo electrónico y contraseña, o el uso de una contraseña de aplicación si tienes habilitada la autenticación multifactor.

Yahoo​

Para enviar correos electrónicos desde una cuenta de Yahoo utilizando SMTP, necesitas conocer la configuración del servidor SMTP de Yahoo:

  • Servidor SMTP: smtp.mail.yahoo.com
  • Puerto:
    • 587 para conexiones TLS (Transport Layer Security).
    • 465 para conexiones SSL (Secure Sockets Layer).

Al igual que Gmail y Outlook, Yahoo requiere autenticación mediante el uso de una dirección de correo electrónico y contraseña.

Asegúrate de utilizar los puertos y la configuración de seguridad adecuados según el servicio que estés utilizando para enviar correos electrónicos con Python mediante SMTP. Además, para mayor seguridad, se recomienda utilizar TLS o SSL al enviar correos electrónicos.