Emails con Python#

Logo 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()