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:
- Vaya a account.google.com con su cuenta.
- En las pestañas de la izquierda, elija Seguridad.
- En Iniciar sesión en Google, elija la contraseña de la aplicación.
- Confirme su identidad.
- Elija Personalizado.
- Elija cualquier nombre para su aplicación y genere la contraseña.
- 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.
La biblioteca que usará es:
- imaplib
- navegador web
- 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.
Publicación traducida automáticamente
Artículo escrito por ayushsaxena77 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA