为什么在此Python代码处出现“错误:FETCH命令错误:错误”?

时间:2019-05-22 11:04:46

标签: python search passwords imaplib subject

我正在使用python中的代码进行工作,该代码应在csv文件(它们与密码一起保存)中搜索所有电子邮件地址,以查找特定的主题。一切正常,但是如果我对搜索指定特定主题,则会遇到很大问题。

这是一行:

类型,数据= mail.search(无,'(不可见)(文本示例)')

如果我删除(例如TEXT),它可以工作,但是我只想搜索与此主题相关的电子邮件...

我找到了一个代码,该代码可以查找具有特定主题的电子邮件,但是我也想使用csv文件中的自动数据使用功能,并且我没有解决将这些功能组合在一起的问题。.::

//////起始码:

import email
import imaplib
import csv
import smtpd
import time




smtp_server = 'imap.arcor.de'
smtp_port = 993



def acccheck():
    with open('pipi.csv') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=';')
        for row in csv_reader:

            readmail(row[0], row[1])
            print(row[0], row[1])


def readmail(username, password):

    try:
        mail = imaplib.IMAP4_SSL(smtp_server)
        mail.login(username, password)

        mail.select('inbox')
        type, data = mail.search(None, '(UNSEEN) (TEXT example)')
        mail_ids = data[0]
        id_list = mail_ids.split()

        for i in reversed(id_list):
            type, data = mail.fetch(i, '(RFC822)')

            for response_part in data:
                if isinstance(response_part, tuple):
                    msg = email.message_from_string(response_part[1].decode('utf-8', errors='ignore'))
                    email_subject = msg['subject']
                    email_from = msg['from']
                    print('From: ' + email_from)
                    print('Subject: ' + email_subject + '\n')


    except Exception as e:
        print('ERROR: ' + str(e))



acccheck()

END CODE ////

错误:

错误:FETCH命令错误:错误[b“ IMAP命令错误FETCH:意外的')'(0.001 + 0.000秒)。”] email_1 pw_1 错误:FETCH命令错误:错误[b“ IMAP命令错误:FETCH错误:意外的')'(0.001 + 0.000秒)。”] 电子邮件_2 pw_2 错误:FETCH命令错误:错误[b“ IMAP命令错误:FETCH错误:意外的')'(0.001 + 0.000秒)。”] email_3 pw_3

1 个答案:

答案 0 :(得分:0)

尝试一下:

resp, data = mail.uid('search', None, 'X-GM-RAW', r'"subject:{}"'.format(search_term))
mail_ids = data[0]
id_list = mail_ids.split()
for ID in id_list:
  typ, mail_stuff = mail.uid('fetch', ID, '(RFC822)')