Python enviar correo electrónico

Còmo enviar un correo electrònico usando Python

Python es un lenguaje con muchas caracterìsticas. Se puede utilizar para análisis de datos, desarrollo web y más. Eso no es todo, Python tiene una funciòn oculta: puedes usarla para enviar correos electrònicos. Esto significa que puede enviar correos electrònicos de restablecimiento de contrase√±a, correos electrònicos de contrase√±a olvidada, notificaciones de usuario y cualquier otro correo electrònico que desee enviar, desde un programa de Python.

En esta guìa, vamos a discutir còmo enviar un correo electrònico usando Python. Revisaremos las bibliotecas de correo electrònico y smtplib, còmo funcionan y escribiremos un programa de ejemplo para enviar un correo electrònico. & Nbsp;

Sin más preámbulos, ¬°comencemos!

Enviar correos electrònicos usando Python

Cuando envìa un correo electrònico desde un programa de computadora, su programa enviará el mensaje usando un protocolo llamado Protocolo simple de transferencia de correo (SMTP). Los servicios de correo electrònico y los clientes de todo el mundo utilizan este protocolo para enviar mensajes. & Nbsp;

Para enviar un correo electrònico desde un programa informático, debe tener un servidor SMTP. Puede configurar uno usted mismo, pero no siempre tiene que hacerlo. Servicios como Gmail y Outlook brindan servicios SMTP para que pueda usar sus cuentas de correo electrònico existentes para enviar un correo electrònico.

Para esta guìa, asumiremos que está enviando un correo electrònico desde Gmail " s servidor SMTP. Puede obtener más informaciòn sobre su servidor SMTP en la documentaciòn oficial de Gmail. Para saber si su proveedor de correo electrònico admite SMTP, busque en lìnea " [nombre de su proveedor] credenciales SMTP & rsquo ;.

Tenemos que seguir tres pasos para enviar un correo electrònico:

  • Configure nuestra conexiòn SMTP
  • Cree un objeto de mensaje
  • Envìe el mensaje a través de SMTP

Configurando una conexiòn SMTP

Para comenzar, configuremos nuestra conexiòn SMTP. Podemos hacer esto usando una biblioteca llamada smtplib que proporciona todo el còdigo que necesitamos para administrar la conexiòn. Gracias a esta biblioteca, solo se necesitan unas pocas lìneas de còdigo para enviar un correo electrònico.

El 81% de los participantes afirmaron que se sentìan más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asòciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Empiece por importar la biblioteca smtplib en su còdigo:

Ahora tenemos para configurar variables que almacenan las credenciales de nuestro servidor SMTP. Almacenar estos valores en variables nos ayudará a mantener la legibilidad de nuestro còdigo. Estas son las variables que vamos a utilizar:

Este còdigo contiene toda la configuraciòn que necesitamos para crear una conexiòn SMTP. Ahora que tenemos esta configuraciòn, podemos iniciar sesiòn en nuestro servidor SMTP:

Nuestro còdigo crea una conexiòn SSL a nuestro servidor SMTP. Esto significa que estamos utilizando Secure Socket Layer (SSL) para conectarnos a nuestro servidor. SSL es más seguro que una conexiòn tradicional y, como resultado, se ha convertido en un estándar en los servidores SMTP.

¬°Nuestra conexiòn SMTP ahora está configurada!

Crear un objeto de mensaje < / h2>

Nuestro còdigo no hace mucho en este momento: definitivamente no envìa un correo electrònico. Eso es porque a√∫n no hemos creado un objeto de mensaje. Hagamos esto usando la biblioteca de correo electrònico. Si bien puede usar smtplib para crear un objeto de mensaje, la biblioteca de correo electrònico es más concisa.

Comencemos importando los paquetes de correo electrònico necesarios:

Con estas bibliotecas importadas, podemos crear nuestro objeto de mensaje:

Hemos comenzado inicializando un objeto llamado " message & rsquo ;. Este objeto hace referencia a la clase MIMEMultipart de la biblioteca de correo electrònico. Luego, especificamos el cuerpo de nuestro correo electrònico y el remitente, el destinatario y el asunto.

Nuestra √∫ltima lìnea de còdigo adjunta el cuerpo de nuestro mensaje a nuestro correo electrònico.

Envìe el mensaje

Ahora todo eso lo que queda por hacer es enviar nuestro mensaje:

Cuando ejecutamos todo nuestro còdigo juntos, se envìa un correo electrònico. Se envìa un correo electrònico con el tìtulo " Este es un correo electrònico de prueba " desde [email protected] a [email protected]

Leer una plantilla desde un archivo

El cuerpo de nuestro correo electrònico tiene solo una lìnea. Esto significa que es más práctico para nosotros escribir el cuerpo de nuestro correo electrònico dentro de Python. La mayorìa de los correos electrònicos son más largos que esto , por lo que es mejor crear una plantilla que almacene el texto de un correo electrònico en particular.

Comenzaremos creando un archivo llamado d email.txt y pegar el siguiente contenido:

Esta plantilla contiene una variable llamada " NOMBRE & rdquo ;, que se encierra entre llaves ({}) y está precedida por un signo de dòlar ($). Esta variable será sustituida por el nombre del destinatario más adelante en nuestro còdigo.

Ahora tendremos que leer esta plantilla en nuestro còdigo. Podemos hacer esto creando una clase llamada read_email que usa el método open () para leer nuestro archivo.

Importaremos el objeto Template desde la biblioteca de cadenas. Usaremos este objeto para crear un objeto que pueda ser leìdo por nuestro correo electrònico. Pegue la siguiente lìnea de còdigo en la parte superior de su programa Python:

Debajo de todas sus declaraciones de importaciòn, pegue este còdigo:

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. Dos meses después graduándome, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida. "

Venus, ingeniero de software en Rockbot

Este La funciòn leerá el archivo llamado " email.txt " en la variable " contenido & rdquo ;. Luego, su valor se convierte en un objeto Plantilla utilizando el método Plantilla de la " cadena " Biblioteca. Puede obtener más informaciòn sobre la lectura de archivos en nuestro tutorial de lectura de archivos de Python .

Cambie la siguiente lìnea de còdigo en su programa:

Para usar este còdigo:

Este còdigo llama a la funciòn read_email () en nuestro còdigo para leer el contenido del archivo " email.txt & rdquo ;. Luego, el valor de NAME dentro de nuestra plantilla de correo electrònico se sustituye por el valor " Test & rdquo ;. Juntos, nuestro còdigo se ve asì:

Cuando ejecute este programa, sustituyendo las credenciales de su servidor SMTP, se enviará un correo electrònico. Acaba de escribir un programa para enviar un correo electrònico.

Conclusiòn

Enviar un correo electrònico en Python no tiene por qué ser difìcil. Sin el uso de una plantilla, enviar un correo electrònico solo requiere unas pocas lìneas de còdigo. Los mòdulos de correo electrònico y smtplib hacen la mayor parte del trabajo pesado. Dicho esto, puede utilizar el mòdulo de correo electrònico de manera más amplia para crear plantillas para sus correos electrònicos que puedan sustituir valores.

¿Está preparado para un desafìo? Cambie el programa de arriba para admitir el envìo de correos electrònicos a varios destinatarios. Sugerencia: querrá usar un bucle for para enviar estos correos electrònicos.

¬°Ahora está listo para comenzar a enviar correos electrònicos en Python como un experto!