En este artículo, vamos a ver cómo enviar correos electrónicos usando yagmail . yagmail (Yet Another Gmail) es un módulo en python que solía enviar correos electrónicos usando Python. Este módulo no es nada, solo un cliente de Gmail/SMTP (Protocolo simple de transferencia de correo) que elimina los problemas de envío de correos electrónicos a través de Python. Esto ayuda a que la aplicación web interactúe con Gmail sin ningún problema.
Nota: esto hace que las cuentas de Gmail sean vulnerables a algunos accesos no autorizados, por lo que para imponer la seguridad en las cuentas de Gmail, use las credenciales de OAuth2 para obtener derechos de acceso.
Instalación:
pip install yagmail
Registrar ID de correo electrónico de usuario:
Al registrarse, permitimos que el yagmail acceda a nuestra cuenta de Gmail en consentimiento para enviar correos electrónicos. Existe la necesidad de que un cliente SMTP proporcione la autenticación al cliente para enviar un correo electrónico.
yagmail.register(“Nombre de usuario de Gmail del remitente”, “Contraseña de Gmail del remitente”)
Conéctese al servidor SMTP:
Para iniciar una conexión con el servidor SMTP usando el cliente SMTP, use el siguiente comando.
yag = yagmail.SMTP(“Remitente@gmail.com”)
Agregar contenido y entregar:
- En el primer argumento de la función enviar(), pase la dirección de correo electrónico del destinatario.
- Luego, en el segundo, pase el Asunto del correo que envía su remitente.
- Ahora, en el tercero, pase el Contenido del correo, es decir, texto o medios.
yag.send («Receptor@gmail.com», «Asunto del correo», «Contenido (texto, medios, etc.)»)
Envío de correo electrónico simple:
Python3
# importing yagmail and its packages import yagmail # initiating connection with SMTP server yag = yagmail.SMTP("Sender's Email Address", "Sender's Email Address Password") # Adding Content and sending it yag.send("Receiver's Email Address", "Subject of Email to be send", "Content(Text,Media, etc. files) of Email to be send")
Envío de correo electrónico con varios archivos adjuntos
Aquí le enviaremos un correo electrónico con varios archivos adjuntos. En los archivos adjuntos, los atributos pasan por la lista de archivos adjuntos que deben enviarse al receptor.
Sintaxis: yag.send («Destinatario@gmail.com», «Asunto del correo», «Contenido del correo», archivos adjuntos = [‘Adjunto1.png’, ‘Adjunto2.png’, ‘Adjunto3.png’])
Código:
Python3
# importing yagmail and its packages import yagmail # initiating connection with SMTP server yag = yagmail.SMTP("Sender's Email Address", "Sender's Email Address Password") # Adding multiple attachments and mailing them yag.send("Receiver@gmail.com","Subject Of Mail","Content Of Mail", attachments=['Attachment1.png','Attachment2.png','Attachment3.png'])
Producción:
Envío de correos electrónicos a múltiples destinatarios
En el argumento «a» en la función enviar(), pase la lista de direcciones de correo electrónico de múltiples destinatarios.
Sintaxis: yag.send(to=[“recipient1@gmail.com”,”recipient2@gmail.com”,”recipient3@gmail.com”], “Asunto del correo”,”Contenido del correo”)
Código:
Python3
# importing yagmail and its packages import yagmail # initiating connection with SMTP server yag = yagmail.SMTP("Sender's Email Address", "Sender's Email Address Password") # Adding multiple recipents name in "to" argument yag.send(to=["recipient1@gmail.com","recipient2@gmail.com", "recipient3@gmail.com"],"Subject Of Mail","Content Of Mail")
Producción:
Envío de correos electrónicos con campos CC y BCC
En cc (copia carbón) pase la dirección de correo electrónico del receptor 2 y en el tercero, es decir, en bcc (copia carbón oculta) pase la dirección de correo electrónico del receptor 3.
Sintaxis: yag.send(to=”Receiver1@gmail.com”,cc=”Receiver2@gmail.com”, bcc=”Receiver1@gmail.com”,”Asunto del correo”,”Contenido del correo”)
Código:
Python3
# importing yagmail and its packages import yagmail # initiating connection with SMTP server yag = yagmail.SMTP("Sender's Email Address", "Sender's Email Address Password") # Passing other recipients name to cc and bcc arguments yag.send(to = "Receiver1@gmail.com", cc = "Receiver2@gmail.com", bcc = "Receiver1@gmail.com","Subject Of Mail","Content Of Mail")
Producción:
Enviar un correo electrónico HTML
Pase el contenido del correo dentro de las etiquetas HTML. Por lo tanto, el mensaje se formateará siguiendo la sintaxis HTML que haya proporcionado.
Sintaxis: yag.send(“Destinatario@gmail.com”,”Asunto del correo”,”<h2>Contenido del correo</h2>”)
Código:
Python3
# importing yagmail and its packages import yagmail # initiating connection with SMTP server yag = yagmail.SMTP("Sender's Email Address", "Sender's Email Address Password") # Passing content inside HTML tags to content argument yag.send("Receiver@gmail.com","Subject Of Mail", "<h2>Content Of Mail</h2>")
Producción: