Obtener correos electrónicos no vistos de la bandeja de entrada de Gmail

Python es un lenguaje de programación dinámico, de alto nivel, de propósito general, interpretado, de múltiples utilidades y ampliamente utilizado. Se puede usar para realizar una amplia gama de tareas como aprendizaje automático, desarrollo de aplicaciones web, desarrollo de GUI multiplataforma y mucho más. Obtener Gmail es otra de las tareas que Python podría lograr. Es posible que deba buscar un correo de su bandeja de entrada en su proyecto o sitio web por cualquier motivo. En este tutorial, aprenderemos cómo obtener correos electrónicos no vistos de la Bandeja de entrada/Correos enviados de Gmail.
Para comenzar, se nos solicitará una contraseña de la aplicación generada por Google Security, ya que el uso de la contraseña no puede ser seguro en algunos proyectos o scripts directamente.

Cómo generar la contraseña de la aplicación:

  1. Vaya a account.google.com con su cuenta.
  2. En las pestañas de la izquierda, elija Seguridad.
  3. En Iniciar sesión en Google, elija la contraseña de la aplicación.
  4. App password image

  5. Confirme su identidad.
  6. Elija Personalizado.
  7. choose custom

  8. Elija cualquier nombre para su aplicación y genere la contraseña.
  9. Esa es su contraseña de la aplicación. Copie la contraseña, la necesitaremos.

También deberá habilitar IMAP en la configuración de Google. 

enable IMAP in gmail

La biblioteca que usará es: 
 

  1. imaplib
  2. Email
  3. navegador web
  4. sistema operativo

Eso es todo por el requisito previo. Veamos el código ahora.
 

Python3

# import required libraries
import imaplib
import email
from email.header import decode_header
import webbrowser
import os
  
# use your email id here
username = "" 
  
# use your App Password you
# generated above here.
password = "" 
  
# creata a imap object
imap = imaplib.IMAP4_SSL("imap.gmail.com")
  
# login
result = imap.login(username, password)
  
# Use "[Gmail]/Sent Mails" for fetching
# mails from Sent Mails. 
imap.select('"[Gmail]/All Mail"', 
readonly = True) 
  
response, messages = imap.search(None, 
                                 'UnSeen')
messages = messages[0].split()
  
# take it from last
latest = int(messages[-1])
  
# take it from start
oldest = int(messages[0])
  
for i in range(latest, latest-20, -1):
    # fetch
    res, msg = imap.fetch(str(i), "(RFC822)")
      
    for response in msg:
        if isinstance(response, tuple):
  
           msg = email.message_from_bytes(response[1])
           # print required information
           print(msg["Date"])
           print(msg["From"])
           print(msg["Subject"])
  
    for part in msg.walk():
        if part.get_content_type() == "text / plain":
            # get text or plain data
            body = part.get_payload(decode = True)
            print(f'Body: {body.decode("UTF-8")}', )

Salida: este código le traerá los 20 principales correos electrónicos no vistos en la bandeja de entrada.

gmail draft unseen message

gmail draft unseen message-2

gmail draft unseen message-3

Publicación traducida automáticamente

Artículo escrito por ayushsaxena77 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *