📧 私人邮件获取

📋 功能说明
  • IMAP/SMTP邮箱连接
  • 收取最新邮件
  • 邮件内容解析
💻 源代码
import imaplib
import email
from email.header import decode_header

def connect_email(email_addr, password, server='imap.qq.com'):
    """连接邮箱"""
    mail = imaplib.IMAP4_SSL(server)
    mail.login(email_addr, password)
    return mail

def get_latest_emails(email_addr, password, count=10):
    """获取最新邮件"""
    mail = connect_email(email_addr, password)
    mail.select('INBOX')
    
    # 获取最新邮件
    _, messages = mail.search(None, 'ALL')
    email_ids = messages[0].split()[-count:]
    
    emails = []
    for eid in email_ids:
        _, msg = mail.fetch(eid, '(RFC822)')
        email_msg = email.message_from_bytes(msg[0][1])
        
        # 解析发件人和主题
        subject = decode_header(email_msg['Subject'])[0][0]
        from_addr = decode_header(email_msg['From'])[0][0]
        
        emails.append({
            'subject': subject,
            'from': from_addr,
            'date': email_msg['Date']
        })
    
    mail.close()
    mail.logout()
    return emails

# 示例
emails = get_latest_emails('your_email@qq.com', 'your_password')
for e in emails:
    print(f"主题: {e['subject']}, 发件人: {e['from']}")
📦 运行环境
pip install email (内置)
注意事项
  • ⚠️ 需要邮箱IMAP权限
  • ⚠️ 需使用授权码登录
  • ⚠️ 保护个人隐私