我无法弄清楚为什么这段代码(过去工作并向我发送带有图片附件的电子邮件)停止工作。我在覆盆子pi上运行它。它似乎一直运行,直到它到达server.sendmail
行然后给出这个错误:
smtplib.SMTPServerDisconnected: Server not connected
我确信它曾经是几个月前我上次尝试时工作的,我也尝试使用gmail帐户和smtp.gmail.com而不是我的Dreamhost smtp服务器并得到了同样的错误。 代码是:
def email(kid):
fromaddr = "me@email.com"
toaddr = "me@email.com"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = kid + " Button Pressed"
body = kid + " pressed the button"
msg.attach(MIMEText(body, 'plain'))
filename = "image.jpg"
attachment = open("/home/pi/python/image.jpg", "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(part)
server = smtplib.SMTP('mail.domain.com', 587)
server.starttls()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
答案 0 :(得分:0)
Gmail(以及许多其他邮件服务)的问题可能与安全性有关,请检查:
https://support.google.com/accounts/answer/6010255?hl=en
您可以更改不太安全的应用的帐户访问权限或启用2步验证。