Подсчет количества сообщений в почтовом аккаунте с python - PullRequest
2 голосов
/ 10 июня 2010

есть ли в Python способ получить доступ к учетной записи электронной почты (мне это понадобится для gmail, но лучше, если таковая будет работать) и иметь возможность видеть количество сообщений во входящих (возможно, даже непрочитанных) только сообщения)? Спасибо.

Ответы [ 4 ]

6 голосов
/ 15 июня 2010

Вы можете попробовать это

import imaplib  
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)  
obj.login('username', 'password')  
obj.select('Inbox')      <-- it will return total number of mail in Inbox i.e 
('OK', ['50'])  
obj.search(None,'UnSeen')  <-- it will return the list of uids for Unseen mails  
4 голосов
/ 10 июня 2010

Посмотрите на пакеты POP3 и IMAP стандартной библиотеки python.

3 голосов
/ 23 мая 2014

Опираясь на ответ Авадеша:

#! /usr/bin/env python3.4

import getpass
import imaplib

mail = imaplib.IMAP4_SSL('imap.server.com')
mypassword = getpass.getpass("Password: ")
address = 'your@email.com'
mail.login(address, mypassword)
mail.select("inbox")
print("Checking for new e-mails for ",address,".", sep='')
typ, messageIDs = mail.search(None, "UNSEEN")
messageIDsString = str( messageIDs[0], encoding='utf8' )
listOfSplitStrings = messageIDsString.split(" ")
if len(listOfSplitStrings) == 0:
    print("You have no new e-mails.")
elif len(listOfSplitStrings) == 1:
    print("You have",len(listOfSplitStrings),"new e-mail.")
else:
    print("You have",len(listOfSplitStrings),"new e-mails.")
1 голос
/ 10 июня 2010

Альтернативное решение для gmail для поиска непрочитанных сообщений:

Gmail предлагает атомные каналы для сообщений .Например:

https://mail.google.com/mail/feed/atom/ (непрочитанные сообщения в папке входящих сообщений) http://mail.google.com/mail/feed/atom/labelname/ (непрочитанные сообщения в имени метки) http://mail.google.com/mail/feed/atom/unread/ (все непрочитанные сообщения)

Таким образом, вы можете использовать превосходную библиотеку feedparser для захвата канала и подсчета записей.

Теперь, когда я смотрю на это, похоже, что фид непрочитанных сообщений возвращает только до 20 записей, так что это может быть немного ограничено.

...