Código para el envío de un correo electrónico con Python a través de Gmail (o otro servidor)

La idea es muy fácil, el siguiente código es una muestra de cómo funciona en python el envío de email a través de la librería smtplib. Importante, activar el envío de correos por terceros en tu cuenta de gmail (explicado al final). Si prefieres un vídeo tutorial visita la siguiente url: https://www.youtube.com/watch?v=vCFioQizM4w

El código completo lo puedes descargar en la siguiente url https://github.com/al118345/envio_email

import smtplib
from envio_email.password import password_gmail

'''
Clase que tiene como objetivo enviar email.
'''
class SendEMail():
    def send_email_test(self, para):

        #dirección desde dónde se envian los correos
        gmail_user = '1938web@gmail.com'
        gmail_password = password_gmail
        from_address = gmail_user

        #para quien va destinado
        to_address = para

        #asunto y mensaje
        asunto = "Test Envio Email"
        mensaje=  'Envio de un correo'
        message = """From: %s\nTo: %s\nSubject: %s\n\n%s
        	    """ % (from_address, ", "to_address, asunto, mensaje)

        #proceso de login sobre el servidor. Smtp únicamente, imap o pop no
        #porque no queremos recivirlos, unicamente enviar
        server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
        server.ehlo()
        server.login(gmail_user, gmail_password)
        server.sendmail(from_address, to_address, message)
        server.close()

  

Como podéis observar, el código no tiene ningún misterio. En gmail_user introduces el correo electrónico desde dónde se enviará el email y el la línea 12 añades el password que utiliza (formato texto). A A continuación en la línea 19 creamos el asunto y en la 20 el mensaje.

Para finalizar, a partir de la línea 26 establecemos la conexión con el servidor smtp de gmail. Un servidor SMTP es un ordenador encargado de llevar a cabo el servicio de envio de correos electrónicos, haciendo las veces de “cartero electrónico” y permitiendo el transporte del mismo por Internet. La retransmisión SMTP funciona de un modo muy sencillo: si el servidor SMTP confirma las identidades del remitente y del destinatario, entonces el envío se realiza.

Si no utilizas gmail, puedes modificar la línea 26 con la información de otro proveedor del servicio. Por ejemplo, el servidor smtp de hotmail es smtp.live.com.

Activar el envío de correos con GMAIL.

La configuración por defecto de Gmail no permite enviar correos electrónicos en app tipo la que hemos implementado en este artículo. Para permitirlo hay que seguir los siguientes pasos.

1 Accedemos a nuestra cuenta de google a través de Gmail
2 Vamos al menú de seguridad
3 Activamos el acceso por aplicaciones de terceros