java imap 标记已读_pythonimap4不将消息标记为已读

我有一个Python脚本来移动带有特定主题的消息。邮件被标记为已读,我不希望它们被标记为已读。脚本的哪个部分将它们标记为已读?如何使其不标记为已读?在

另外,我还不太确定我在做什么,所以如果有多余的代码或错误,请告诉我。在import getpass

from Crypto.Hash import MD5

import sys

import imaplib

import email

import re

password = getpass.getpass()

match = "redacted"

username = "redacted"

dest = "000"

pattern_uid = re.compile('\d+ \(UID (?P\d+)\)')

def md5(message):

hash = MD5.new()

hash.update(message)

return hash.hexdigest()

md5 = md5(password)

if md5 == match:

pass

else:

print "Mismatch"

sys.exit()

M = imaplib.IMAP4_SSL("mail.redacted.com", 993)

M.login(username, password)

M.select()

typ, data = M.search(None, 'ALL')

M.select('Inbox')

msgs = M.search(None, 'ALL')[1]

num_messages = len(msgs[0].split())

num_messages += 1

def parse_uid(data):

match = pattern_uid.match(data)

return match.group('uid')

for i in range(1, num_messages):

try:

typ, msg_data = M.fetch(str(i), '(RFC822)')

except:

pass

for response_part in msg_data:

if isinstance(response_part, tuple):

UID = M.fetch(str(i),'UID')

UID = UID[1]

try:

UID = parse_uid(UID[0])

except:

pass

msg = email.message_from_string(response_part[1])

for header in [ 'subject' ]:

if msg[header] == "Redacted":

result = M.uid('COPY', UID, dest)

if result[0] == 'OK':

mov, data = M.uid('STORE', UID, '+FLAGS', '(\Deleted)')

M.expunge()

M.close()

M.logout()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值