Binary Coffee

Enviar correos con Python usando Gmail

python
En este tutorial usaremos la biblioteca *smtplib*, viene incluida con python por lo que no es necesario instalarla, que permite el env√≠o de correos a cualquier direcci√≥n en internet con un servidor SMTP(Simple Mail Transfer Protocol). **Recomendado:** > Aprende a [crear c√≥digos qr](https://binary-coffee.dev/post/generando-codigos-qr-con-python). ## Usando una conexi√≥n segura SMTPS Es importante **siempre** usar conexiones seguras por eso en este ejemplo usaremos SMTPS que es como generalmente se llama a SMPT cuando usa v√≠as TLS/SSL. Lo primero es permitir que aplicaciones poco seguras accedan a nuestra cuenta de Gmail, lo podemos hacer mediante [ESTE ENLACE](https://support.google.com/accounts/answer/6010255). Ahora creamos la plantilla del email que ser√° enviado: ``` email_text = """\ From: %s To: %s Subject: %s %s """ ``` Como ves es una simple variable que recibir√° cuatro par√°metros: correo del remitente que en este caso sera el nuestro, correo del destinatario, asunto y el texto. Ahora necesitamos las credenciales y de nuestra cuenta y completar los par√°metros de nuestra plantilla. ``` import smtplib gmail_user = 'binary-coffee@gmail.com' gmail_password = '******************' sent_from = gmail_user to = 'anyemail@anyserver.com' subject = 'Hola Mundo' body = 'Bienvenido a Binary Coffee, comienza a aprender y a compartir tus conocimientos.' email_text = """\ From: %s To: %s Subject: %s %s """ % (sent_from, to, subject, body) ``` Una vez que tenemos esto es simplemente crear la conexi√≥n segura con el servidor y enviar el correo. ``` import smtplib gmail_user = 'binary-coffee@gmail.com' gmail_password = '******************' sent_from = gmail_user to = 'anyemail@anyserver.com' subject = 'Hola Mundo' body = 'Bienvenido a Binary Coffee, comienza a aprender y a compartir tus conocimientos.' email_text = """\ From: %s To: %s Subject: %s %s """ % (sent_from, to, subject, body) # Creamos la conexi√≥n segura con el servidor server = smtplib.SMTP_SSL('smtp.gmail.com', 465) server.ehlo() # Nos autenticamos server.login(gmail_user, gmail_password) # Enviamos el correo server.sendmail(sent_from, to, email_text) # Cerramos la conexi√≥n server.close() ``` Si luego de esto recibes un **SMTPAuthenticationError** con un c√≥digo **534** deber√°s completar un √ļltimo paso antes de que todo funcione, ve a [ESTE ENLACE](https://accounts.google.com/DisplayUnlockCaptcha) y activa el acceso. Puedes ver la documentaci√≥n de smptlib y plantearte otros retos como enviar adjuntos o HTML: https://docs.python.org/3.5/library/smtplib.html
Opiniones
noavatar
@pedris11s Por supuesto, puedes ver la documentación de la librería: https://docs.python.org/3.5/library/smtplib.html
noavatar
existe soporte para otros clientes de correo ?