with read mails leer enviar correo con and python email gmail pop3
http://dev.chromium.org/developers/design-documents/extensions/samples/gmail.zip

read - Verifique el conteo no leído de los mensajes de Gmail con Python



read gmail python (7)

¿Cómo puedo verificar el número de mensajes de Gmail sin leer en mi bandeja de entrada con un breve script de Python? Puntos de bonificación por recuperar la contraseña de un archivo.



Bueno, voy a seguir adelante y deletrear una solución imapilar como sugirió Cletus. No veo por qué las personas sienten la necesidad de usar gmail.py Atom para esto. Este tipo de cosas es para lo que IMAP fue diseñado. Gmail.py es particularmente atroz, ya que en realidad analiza el HTML de Gmail. Eso puede ser necesario para algunas cosas, ¡pero no para contar un mensaje!

import imaplib, re conn = imaplib.IMAP4_SSL("imap.gmail.com", 993) conn.login(username, password) unreadCount = re.search("UNSEEN (/d+)", conn.status("INBOX", "(UNSEEN)")[1][0]).group(1)

La precompresión de la expresión regular puede mejorar el rendimiento ligeramente.


Para una implementación completa de la lectura del valor de la alimentación atómica:

import urllib2 import base64 from xml.dom.minidom import parse def gmail_unread_count(user, password): """ Takes a Gmail user name and password and returns the unread messages count as an integer. """ # Build the authentication string b64auth = base64.encodestring("%s:%s" % (user, password)) auth = "Basic " + b64auth # Build the request req = urllib2.Request("https://mail.google.com/mail/feed/atom/") req.add_header("Authorization", auth) handle = urllib2.urlopen(req) # Build an XML dom tree of the feed dom = parse(handle) handle.close() # Get the "fullcount" xml object count_obj = dom.getElementsByTagName("fullcount")[0] # get its text and convert it to an integer return int(count_obj.firstChild.wholeText)



Una vez que haya iniciado sesión (haga esto manualmente o con gmail.py) debe usar el feed.

Se encuentra aquí: http://mail.google.com/mail/feed/atom

Es la forma en que Google lo hace. Aquí hay un enlace a su extensión js chrome: http://dev.chromium.org/developers/design-documents/extensions/samples/gmail.zip

A continuación, podrá analizar el xml que se ve así:

<?xml version="1.0" encoding="UTF-8"?> <feed version="0.3" xmlns="http://purl.org/atom/ns#"> <title>Gmail - Inbox for [email protected]</title> <tagline>New messages in your Gmail Inbox</tagline> <fullcount>142</fullcount>


Use Gmail.py

file = open("filename","r") usr = file.readline() pwd = file.readline() gmail = GmailClient() gmail.login(usr, pwd) unreadMail = gmail.get_inbox_conversations(is_unread=True) print unreadMail

Obtiene la información de inicio de sesión desde un archivo de texto asumiendo que el nombre de usuario y la contraseña están en líneas separadas.


import imaplib obj = imaplib.IMAP4_SSL(''imap.gmail.com'',''993'') obj.login(''username'',''password'') obj.select() obj.search(None,''UnSeen'')