文档

IMAP拷贝和删除邮件操作

更新时间:

Python示例:

# -*- coding: utf-8 -*-
import imaplib

# 设置邮箱信息
imap_server = 'imap.qiye.aliyun.com'
username = 'test@example.net'
password = 'xxxxx'
source_folder = 'INBOX'
destination_folder = '123'

# 连接到IMAP服务器
mail = imaplib.IMAP4_SSL(imap_server)
mail.login(username, password)
# 选择源文件夹
mail.select(source_folder)

# 搜索邮箱中所有邮件的NUM,NUM会变化不推荐使用
# result, num_data = mail.search(None, 'ALL')
# print('结果1:',result, num_data)
# 搜索邮箱中所有邮件的UID,推荐
result, uid_data = mail.uid('search', None, 'ALL')
print('结果2:', result, uid_data)

# 如果找到邮件
if result == 'OK':
    for uid in uid_data[0].split():
        # 将邮件移动到目标文件夹
        # 注意:不支持"MOVE"命令,可以先使用"UID COPY"然后删除原邮件
        result, copy_data = mail.uid('COPY', uid, destination_folder)
        if result == 'OK':
            print('uid=', uid)
            # 标记邮件为删除,注意阿里邮箱COPY命令后会自动删除原邮件
            mail.uid('STORE', uid, '+FLAGS', '(\\Deleted)')
    # 执行删除(将标记为删除的邮件从当前文件夹中移除)
    mail.expunge()

# 注销
mail.close()
mail.logout()

  • 本页导读 (0)
文档反馈