Python - 使用 smtplib 发送给多个收件人

Python - using smtplib to send to multiple recipients

我发现很难修改此代码以发送给多个收件人,我已经尝试了很多示例的变体。我是 python 的新手,非常感谢任何帮助。

这是我设计的安全系统的一部分,旨在提醒 parents 和照顾者 children 和患有 ASD 的成年人潜在的私奔风险​​。

'''
import time
import serial
import smtplib

TO = 'email@mail.org'
GMAIL_USER = 'email@gmail.com'
GMAIL_PASS = 'passowrd'

SUBJECT = 'Security Alert'
TEXT = 'Movement detected!'

ser = serial.Serial('COM6', 9600)

def send_email():
print("Sending Email")
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 = header + '\n' + TEXT + ' \n\n'
smtpserver.sendmail(GMAIL_USER, TO, msg)
smtpserver.close()

while True:
    message = ser.readline()
    print(message)
    if message[0] == 'M' :
        send_email()
    time.sleep(0.5)

'''

向多人发送警报。

你看过这个了吗? How to send email to multiple recipients using python smtplib?

看起来您可能也会通过覆盖删除 header 中的一些片段:

header = 'From: ' + GMAIL_USER

而不是:

header = header + 'From: ' + GMAIL_USER

您可能还想考虑改用 format,但我已经无法理解 Python :-)