Primeros pasos
En Python, hay varias formas de enviar correos electrónicos:
-
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. -
email
: Esta biblioteca estándar de Python se utiliza junto consmtplib
para crear correos electrónicos con diferentes formatos (texto plano, HTML, imágenes, adjuntos, etc.). -
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
osmtp.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.