Python:smtplib.SMTPServerDisconnected:请先运行connect()

时间:2019-06-25 21:25:33

标签: python python-3.x smtp imap smtplib

我正在尝试创建一个程序,该程序读取未读的电子邮件并使用自动回复来响应发送,该回复将由某些短语的使用触发。我正在Visual Code的Mac OSX中执行此操作。我能够连接到IMAP和SMTP,但是随后出现以下错误, smtplib.SMTPServerDisconnected:请先运行connect()。

我尝试使用属于smtplib的异常,如果SMTP服务器断开连接,则应该引发该异常,但它不会执行任何操作。

def smtp_init():

    print("Initializing STMP . . .",end = '')
    global s
    s = smtplib.SMTP(smtpserver,smtpserverport)
    status_code = s.starttls()[0]
    if status_code is not 220:
        raise Exception('Starting tls failed: '+ str(status_code))
    status_code = s.login(radr,pwd)[0]
    if status_code is not 235:
        raise Exception('SMTP login failed: '+ str(status_code))
    print("Done. ")


except smtplib.SMTPServerDisconnected:

        smtp_init() 
        continue

预期结果将是使程序循环检查电子邮件,如果电子邮件中包含与自动回复相对应的短语,则对其进行回复。

0 个答案:

没有答案