Emails con Python
Contents
Emails con Python#

Envío de emails con Python
smtplib: Envío de emails#
Modo básico#
1import smtplib
2
3# conectamos al servidor:
4conn = smtplib.SMTP('smtp.gmail.com', 587)
5# habilitar el tls:
6conn.starttls()
7# comprobamos si funciona:
8conn.ehlo()
9# iniciamos sesion:
10conn.login('pepe@fakemail.com', 'contraseña_email')
11
12# y enviamos el correo:
13conn.sendmail('pepe@fakemail.com', 'destino@correoremitente.com', 'Subject: Hey que tal\n\n Texto del mensaje, \n Hey que tal, puedo seguir escribiendo sin miedo\n - <b>Firmado guillermo</b>')
14
15conn.quit()
Modo enriquecido con HTML#
1import smtplib
2
3# Correos implicados:
4yo = 'pepe@fakemail.com'
5cliente = 'cliente@mail.com'
6
7# Contenedor Mime con datos del correo:
8msg = MIMEMultipart('alternative')
9msg['Subject'] = 'Email de prueba'
10msg['From'] = yo
11msg['To'] = cliente
12
13# Cuerpo HTML:
14html = """\
15<html>
16 <head><head>
17 <body>
18 <h1>Correo de prueba</h1>
19 <p>Este es un correo de prueba para:</p>
20 <ul>
21 <li>Nombre: Pedro.</li>
22 <li>Apellidos: Leal a ti.</li>
23 <li>Email: {}. </li>
24 <li>Número de teléfono: 600600666.</li>
25 </ul>
26 </body>
27</html>
28""".format(cliente)
29
30# Mime cuerpo y añadir al mensaje:
31mime_html = MIMEText(html, 'html')
32
33msg.attach(mime_html)
34
35# Preparar envio y enviar:
36conn = smtplib.SMTP('smtp.gmail.com', 587)
37conn.starttls()
38conn.ehlo()
39conn.login(yo, 'contraseña')
40conn.sendmail(cliente, yo, msg.as_string())
41conn.quit()