3

有没有什么办法,在 Python 中,可以访问一个电子邮件帐户(我需要这个用于 gmail,但如果有的话更好)并且能够查看收件箱中的邮件数量(甚至可能只是未读邮件) ? 谢谢你。

4

4 回答 4

7

你可以试试这个

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 标准库的POP3IMAP包。

于 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 为邮件提供原子提要。例如:

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 个条目,所以这可能有点有限。

于 2010-06-10T04:13:49.477 回答