技术求助:无法向多个收件人发送文本邮件,仅首位收件人收到
解决多收件人邮件仅送达首位的问题
修正收件人参数格式:多数Python邮件库(如smtplib)要求收件人以列表形式传入。如果把多个邮箱拼成单个逗号分隔的字符串,服务器只会识别第一个地址。
错误示例:recipients = "user1@example.com, user2@example.com"正确示例:
recipients = ["user1@example.com", "user2@example.com"]调用
sendmail()时直接传入这个列表即可。调整邮件头的To字段:确保邮件头的
To字段正确包含所有收件人,避免服务器拦截或识别异常。可以用逗号拼接列表生成字符串:msg['To'] = ", ".join(recipients)排查SMTP服务器限制:部分邮件服务商对单次发送的收件人数有上限,或者需要额外开启批量发送权限。如果遇到这种情况,可以分批次发送,每批控制收件人数,并加入短暂延时(如
time.sleep(2))。检查垃圾邮件过滤:后续收件人可能未收到邮件是因为邮件被归入垃圾箱,建议提醒对方检查,同时优化邮件主题和内容,避免触发垃圾邮件检测规则。
内容的提问来源于stack exchange,提问作者vee2gee
相关产品推荐
相关产品推荐

