我想发送包含程序中数据的电子邮件,但是当我使用pyinstaller编译脚本时,send_email函数会冻结整个程序。
我试图将功能分离到另一个脚本,但是它也冻结了。
def send_mail():
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login('email@gmail.com', 'password')
txt = open("text.txt", "r")
subject = 'subject'
body = txt.read()
msg = f"Subject: {subject}\n\n{body}".encode('UTF8')
server.sendmail(
'email@gmail.com',
'otheremail@gmail.com',
msg
)
print('EMAIL HAS BEEN SENT!')
server.quit()
txt.close()
它发送1封电子邮件,但是什么也没有。我猜问题出在server.sendemail()之后,但没有太多问题要解决。