已开启
邮件部分收件人被拒绝时,是否可以提示部分发送失败? #8
GGBond创建于  16 天前
GGBond
GGBond
16 天前 创建

查看 scripts/send_mail.py 时注意到,第 195 行调用 server.sendmail() 后没有检查返回值,而是直接返回发送成功。

根据 Python smtplib 文档,当多个收件人中只有部分被 SMTP 服务器拒绝时,sendmail() 不会抛出异常,而是返回包含被拒绝地址的字典。

例如,两个收件人中有一个被服务器拒绝,当前代码仍可能返回 ok: True,并提示邮件已发送至所有收件人。

想请问一下,这是否符合当前预期?

如果需要区分部分发送失败的情况,是否可以检查 sendmail() 的返回值,并在结果中提示被拒绝的收件人,避免用户误以为所有地址均已被 SMTP 服务器接受?

这样在一次发送给多个收件人的场景下,反馈会更准确。

likedislike