使用Python从Gmail下载特定电子邮件,可以使用Google提供的Gmail API。以下是一个简单的示例代码,用于搜索和下载特定电子邮件:
import base64
from google.oauth2 import service_account
from googleapiclient.discovery import build
# 设置Google API凭据
credentials = service_account.Credentials.from_service_account_file('path/to/credentials.json')
scoped_credentials = credentials.with_scopes(['https://www.googleapis.com/auth/gmail.readonly'])
# 构建Gmail API客户端
gmail_client = build('gmail', 'v1', credentials=scoped_credentials)
# 设置搜索条件
search_query = 'from:example@gmail.com subject:test'
# 搜索邮件
message_ids = []
messages = gmail_client.users().messages().list(userId='me', q=search_query).execute()
if 'messages' in messages:
message_ids.extend(messages['messages'])
# 下载特定邮件
for message_id in message_ids:
message = gmail_client.users().messages().get(userId='me', id=message_id['id']).execute()
for part in message['payload']['parts']:
if part['mimeType'] == 'text/plain':
content = base64.urlsafe_b64decode(part['body']['data'])
print(content.decode('utf-8'))
在这个示例中,我们首先设置了Google API凭据,然后使用这些凭据构建了Gmail API客户端。接下来,我们设置了搜索条件,并使用Gmail API搜索邮件。最后,我们下载了特定邮件的内容,并将其打印到控制台上。
需要注意的是,这个示例仅仅是一个简单的示例,实际上还需要处理各种异常情况和错误。此外,这个示例还需要使用Google Cloud Platform的API凭据,因此需要在Google Cloud Platform上创建一个项目并获取API凭据。
领取专属 10元无门槛券
手把手带您无忧上云