📜  使用Python获取通过 Gmail 帐户发送的最近发送的邮件详细信息

📅  最后修改于: 2022-05-13 01:54:54.688000             🧑  作者: Mango

使用Python获取通过 Gmail 帐户发送的最近发送的邮件详细信息

在本文中,我们将了解如何使用Python通过 Gmail 帐户获取固定数量的最近发送的电子邮件。

此实现中使用的库包括imaplibemail 。您必须通过进入您的 Gmail 帐户设置来手动启用 IMAP 访问。在此之后,只有您可以在不登录浏览器的情况下访问您的 Gmail 帐户。
在设置页面中,在运行脚本之前启用它。

算法 :

  • 导入imaplibemailwebbrowseros模块。
  • 与 Gmail 帐户建立 imap 连接。
  • 实例化 Gmail 帐户的用户名和密码变量。
  • 登录到 Gmail 帐户
  • 选择已发送的邮件。
  • 确定要检索的已发送电子邮件的数量 n。
  • 迭代 n 封电子邮件并打印电子邮件的发件人和主题。
# import the modules
import imaplib                              
import email
from email.header import decode_header
import webbrowser
import os
  
# establish connection with Gmail
server ="imap.gmail.com"                     
imap = imaplib.IMAP4_SSL(server)
  
# intantiate the username and the password
username ="username@gmail.com" 
password ="********"
  
# login into the gmail account
imap.login(username, password)               
  
# select the e-mails
res, messages = imap.select('"[Gmail]/Sent Mail"')   
  
# calculates the total number of sent messages
messages = int(messages[0])
  
# determine the number of e-mails to be fetched
n = 3
  
# iterating over the e-mails
for i in range(messages, messages - n, -1):
    res, msg = imap.fetch(str(i), "(RFC822)")     
    for response in msg:
        if isinstance(response, tuple):
            msg = email.message_from_bytes(response[1])
              
            # getting the sender's mail id
            From = msg["From"]
  
            # getting the subject of the sent mail
            subject = msg["Subject"]
  
            # printing the details
            print("From : ", From)
            print("subject : ", subject)

输出 :

输出