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 envío 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.
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.