3

Pythonで、電子メールアカウントにアクセスし(Gmailにはこれが必要ですが、機能する場合はもっと良いです)、受信トレイ内のメッセージの数を確認できる方法はありますか(未読メッセージのみの場合もあります) ?ありがとうございました。

4

4 に答える 4

7

uこれを試すことができます

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  
于 2010-06-15T10:34:14.833 に答える
4

Python標準ライブラリのPOP3およびIMAPパッケージを見てください。

于 2010-06-09T22:31:55.873 に答える
3

Avadheshの答えに基づいて構築:

#! /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.")
于 2014-05-23T16:48:12.513 に答える
1

未読メッセージを見つけるための代替の Gmail 固有のソリューション:

Gmail は、メッセージの Atom フィードを提供します。例えば:

https://mail.google.com/mail/feed/atom/ (受信トレイの未読メッセージ) http://mail.google.com/mail/feed/atom/labelname/ (ラベル名の未読メッセージ) http:// mail.google.com/mail/feed/atom/unread/ (すべての未読メッセージ)

そのため、優れたフィードパーサーライブラリを使用してフィードを取得し、エントリをカウントできます。

しかし、今調べてみると、未読メッセージ フィードは最大 20 件のエントリしか返さないため、これは少し制限されている可能性があります。

于 2010-06-10T04:13:49.477 に答える