Проверьте непрочитанное количество сообщений Gmail с Python

Если это Windows, и вы используете TortoiseSVN , щелкните правой кнопкой мыши папку рабочей копии, перейдите на вкладку Subversion и выберите Свойства .

34
задан Steven Hepting 4 June 2009 в 23:05
поделиться

5 ответов

Что ж, я собираюсь изложить решение imaplib, как предложил Клетус. Я не понимаю, почему люди считают необходимым использовать для этого gmail.py или Atom. IMAP был разработан для такого рода вещей. Gmail.py особенно вопиющий, поскольку он фактически анализирует HTML-код Gmail. Это может быть необходимо для некоторых вещей, но не для подсчета количества сообщений!

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)

Предварительная компиляция регулярного выражения может немного улучшить производительность.

24
ответ дан 27 November 2019 в 16:02
поделиться

Я советую вам использовать Gmail atom feed

Это очень просто:

import urllib

url = 'https://mail.google.com/mail/feed/atom/'
opener = urllib.FancyURLopener()
f = opener.open(url)
feed = f.read()

Затем вы можете использовать функцию синтаксического анализа канала в этой замечательной статье: Проверьте Gmail питоническим способом

25
ответ дан 27 November 2019 в 16:02
поделиться

Ну, это не фрагмент кода, но я полагаю, что использование imaplib и инструкции Gmail IMAP помогут вам в большинстве случаев там.

6
ответ дан 27 November 2019 в 16:02
поделиться

После входа в систему (сделайте это вручную или с помощью gmail.py) вы должны использовать канал.

Он находится здесь: http://mail.google.com/mail/feed/atom

Так поступает Google. Вот ссылка на их расширение js chrome: http://dev.chromium.org/developers/design-documents/extensions/samples/gmail.zip

Затем вы сможете проанализировать xml, который выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for yourmail@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>142</fullcount>
1
ответ дан 27 November 2019 в 16:02
поделиться

Использовать 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

Получает информацию для входа из текстового файла, предполагая, что имя пользователя и пароль находятся в отдельных строках.

-1
ответ дан 27 November 2019 в 16:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: