gpt4 book ai didi

python - 在 python 脚本上附加 MIME 时出错

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:05 27 4
gpt4 key购买 nike

此脚本的目的是监听串行端口并发送一封带有 ip 摄像头图片的电子邮件,该图片在触发时会被检索。这是我迄今为止遇到的错误。

`导入时间 进口系列 从 email.MIMEMultipart 导入 MIMEMultipart 从 email.MIMEText 导入 MIMEText 从 email.MIMEImage 导入 MIMEImage 导入smtplib 导入日期时间 导入urllib

TO = '111111111@mms.att.net'
GMAIL_USER = 'email@gmail.com'
GMAIL_PASS = 'password'

SUBJECT = 'Intrusion= NODE 18'
TEXT = 'MOVEMENT'

ser = serial.Serial('/dev/tty.usbserial-DA00S0U6', 115200)

def send_email():
urllib.urlretrieve ("http://<IPADDRESS>/snapshot/view4.jpg","view4.jpg")
print("Sending Email")
print str(datetime.datetime.now())
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(GMAIL_USER, GMAIL_PASS)
header = 'To:' + TO + '\n' + 'From: ' + GMAIL_USER
header = header + '\n' + 'Subject:' + SUBJECT + '\n'
print header
msg = MIMEMultipart() + header + '\n' + TEXT + ' \n\n'
msg.attach(MIMEImage(file("view4.jpg").read()))
smtpserver.sendmail(GMAIL_USER, TO, msg)
smtpserver.close()



while True:
message = ser.readline()
print(message)
if "[18] MOTION" in message :
send_email()

time.sleep(0.5)`

错误:===

Traceback (most recent call last):
File "motion3.py", line 58, in <module>
send_email()
File "motion3.py", line 32, in send_email
msg = MIMEMultipart() + header + '\n' + TEXT + ' \n\n'
TypeError: unsupported operand type(s) for +: 'instance' and 'str'

最佳答案

今后,确保您发布的代码正确缩进!

您没有正确使用 MIMEMultipart 类。请参阅email: Examples在 Python 文档中;第三个示例显示了 MIMEMultipart 的正确用法。

错误消息表明您正在尝试将新的类实例 MIMEMultipart() 和字符串 header 添加在一起,但您不能这样做!

你的代码中可能存在逻辑错误,但我还没有仔细研究它 - 尝试阅读缩进错误的 Python 太痛苦了。 :(

关于python - 在 python 脚本上附加 MIME 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com