smtplib
La biblioteca smtplib
de Python proporciona una forma simple de enviar correos electrónicos utilizando el Protocolo Simple de Transferencia de Correo (SMTP). A continuación se presenta un ejemplo básico de cómo enviar un correo electrónico con smtplib
.
smtplib
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# Configuración del servidor SMTP y credenciales
smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'tu_email@gmail.com'
password = 'tu_contraseña'
# Crear el mensaje
msg = MIMEMultipart()
msg['From'] = username
msg['To'] = 'destinatario@example.com'
msg['Subject'] = 'Asunto del correo'
body = 'Este es el cuerpo del correo electrónico.'
msg.attach(MIMEText(body, 'plain'))
# Enviar el correo
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # Iniciar conexión TLS
server.login(username, password)
text = msg.as_string()
server.sendmail(username, 'destinatario@example.com', text)
print('Correo enviado exitosamente')
except Exception as e:
print(f'Error al enviar el correo: {e}')
finally:
server.quit()
1. Configuración del servidor SMTP y credenciales:
smtp_server
y smtp_port
: especifica el servidor SMTP y el puerto. Aquí usamos Gmail como ejemplo.
username
y password
: tus credenciales de acceso al servidor SMTP.
2. Creación del mensaje:
MIMEMultipart
para crear un objeto de mensaje que puede contener múltiples partes.
msg['From']
, msg['To']
, y msg['Subject']
: configuramos el remitente, destinatario y asunto del correo.
MIMEText(body, 'plain')
: añadimos el cuerpo del correo como texto plano.
3. Envío del correo:
SMTP
, iniciamos la conexión TLS y nos autenticamos.
msg.as_string()
y lo enviamos con sendmail
.
yagmail
yagmail
es una biblioteca de terceros que simplifica el envío de correos electrónicos con Gmail. Es más fácil de usar y menos propensa a errores que smtplib
.
Primero, necesitas instalar yagmail
:
pip install yagmail
yagmail
import yagmail
# Configuración de yagmail y credenciales
yag = yagmail.SMTP('tu_email@gmail.com', 'tu_contraseña')
# Enviar el correo
destinatario = 'destinatario@example.com'
asunto = 'Asunto del correo'
cuerpo = 'Este es el cuerpo del correo electrónico.'
try:
yag.send(to=destinatario, subject=asunto, contents=cuerpo)
print('Correo enviado exitosamente')
except Exception as e:
print(f'Error al enviar el correo: {e}')
1. Configuración de yagmail y credenciales:
yagmail.SMTP
con nuestras credenciales.
2. Envío del correo:
send
de yagmail
para enviar el correo especificando el destinatario, asunto y contenido del correo.
Enviar correos electrónicos desde Python puede ser sencillo y rápido utilizando las herramientas adecuadas. smtplib
proporciona una solución robusta y flexible, mientras que yagmail
simplifica el proceso y reduce la cantidad de código necesario. Dependiendo de tus necesidades, puedes elegir la herramienta que mejor se adapte a tu proyecto.
Jorge García
Fullstack developer