首页 > 解决方案 > Python - 使用 smtplib 发送给多个收件人

问题描述

我发现修改此代码以发送给多个收件人非常困难,我已经尝试了许多示例的变体。我对python很陌生,所以任何帮助都将不胜感激。

这是我设计的安全系统的一部分,旨在提醒父母和照顾者注意患有 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)

'''

将警报发送给多人。

标签: pythonemailpyserialsmtplib

解决方案


你看过这个了吗?如何使用 python smtplib 向多个收件人发送电子邮件?

看起来你可能会通过覆盖它们来丢弃一些标题:

header = 'From: ' + GMAIL_USER

代替:

header = header + 'From: ' + GMAIL_USER

您可能还想考虑使用格式,但我已经超出了我对 Python 的了解 :-)


推荐阅读