用python代码,实现查收邮件并读取邮件内容的功能
时间: 2024-04-30 22:19:39 浏览: 102
要实现查收邮件并读取邮件内容的功能,需要使用Python中的imaplib模块和email模块。以下是一个简单的示例代码:
```python
import imaplib
import email
# 邮箱登录信息
IMAP_SERVER = 'imap.gmail.com'
EMAIL_ACCOUNT = 'your_email_address@gmail.com'
EMAIL_PASSWORD = 'your_email_password'
# 连接邮箱服务器
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
# 选择收件箱
mail.select("inbox")
# 搜索邮件
result, data = mail.search(None, "ALL")
# 遍历邮件
for num in data[0].split():
# 获取邮件内容
result, data = mail.fetch(num, "(RFC822)")
raw_email = data[0][1]
email_message = email.message_from_bytes(raw_email)
# 获取邮件主题和发件人信息
subject = email_message['Subject']
sender = email.utils.parseaddr(email_message['From'])[1]
# 输出邮件信息
print('From: %s' % sender)
print('Subject: %s' % subject)
# 获取邮件正文内容
if email_message.is_multipart():
for part in email_message.get_payload():
if part.get_content_type() == 'text/plain':
body = part.get_payload(decode=True).decode('utf-8')
print('Body: %s' % body)
break
else:
body = email_message.get_payload(decode=True).decode('utf-8')
print('Body: %s' % body)
# 关闭邮箱连接
mail.close()
mail.logout()
```
这段代码会连接到Gmail的IMAP服务器,并遍历收件箱中的所有邮件。对于每一封邮件,它会输出发件人、主题和正文内容。请注意,这个示例代码仅适用于文本邮件,如果邮件包含HTML或附件,需要进行相应的修改。
阅读全文