163邮箱使用imap接收邮件

import email.policy
import imaplib, email

M = imaplib.IMAP4(host='imap.163.com')
M.login('***@163.com', 'pass')
imap_id = ("name", "rain", "version", "1.0", "vendor", "HB")
# xatom方法为imaplib原生的提供调用自定义命令的方法
# https://docs.python.org/zh-cn/3.5/library/imaplib.html#imaplib.IMAP4.xatom
typ, data = M.xatom('ID', '("' + '" "'.join(imap_id) + '")')

M.select('INBOX')
typ, data = M.search(None, 'ALL')
for num in data[0].split():
    typ, data = M.fetch(num, '(RFC822)')
    # print('Message %s\n%s\n' % (num, data[0][1]))
    msg = email.message_from_bytes(data[0][1], policy=email.policy.default)
    res = msg.get_content()
    print( msg['Subject'])
    print( msg['From'])
    print( msg['To'])

    for part in msg.walk():
        if not part.is_multipart():
            name = part.get_param("name")
            if not name:  # 如果邮件内容不是附件可以打印输出
                content = part.get_content()
    print(content)
    break
    
M.close()
M.logout()

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注