查看 scripts/send_mail.py 时注意到,第 195 行调用 server.sendmail() 后没有检查返回值,而是直接返回发送成功。
根据 Python smtplib 文档,当多个收件人中只有部分被 SMTP 服务器拒绝时,sendmail() 不会抛出异常,而是返回包含被拒绝地址的字典。
例如,两个收件人中有一个被服务器拒绝,当前代码仍可能返回 ok: True,并提示邮件已发送至所有收件人。
想请问一下,这是否符合当前预期?
如果需要区分部分发送失败的情况,是否可以检查 sendmail() 的返回值,并在结果中提示被拒绝的收件人,避免用户误以为所有地址均已被 SMTP 服务器接受?
这样在一次发送给多个收件人的场景下,反馈会更准确。
查看 scripts/send_mail.py 时注意到,第 195 行调用 server.sendmail() 后没有检查返回值,而是直接返回发送成功。
根据 Python smtplib 文档,当多个收件人中只有部分被 SMTP 服务器拒绝时,sendmail() 不会抛出异常,而是返回包含被拒绝地址的字典。
例如,两个收件人中有一个被服务器拒绝,当前代码仍可能返回 ok: True,并提示邮件已发送至所有收件人。
想请问一下,这是否符合当前预期?
如果需要区分部分发送失败的情况,是否可以检查 sendmail() 的返回值,并在结果中提示被拒绝的收件人,避免用户误以为所有地址均已被 SMTP 服务器接受?
这样在一次发送给多个收件人的场景下,反馈会更准确。