mail.send() web2py 中针对不存在的退回电子邮件/电子邮件地址的功能

mail.send() feature in web2py for bounced email/ email address that doesnt exist

所以我制作了一个小应用程序,可以从连接到 gmail smtp 服务器的 web2py 发送电子邮件。这里的问题是它总是给我一个成功的消息!即使电子邮件 ID 无效。我已经通过将邮件从 gmail 发送到 gmail 表示 'Your message has been sent' 的无效电子邮件 ID 来测试 gmail 的退回功能,但是在转到已发送文件夹时,邮件守护程序会出现时间滞后(这因不同的邮件服务而异) ).我认为 web2py 的 mail.send() 功能无法捕捉到这一点,并以 'Your message has been sent' 作为确认。如何捕获尚未使用 web2py 发送的邮件?

if mail.send(session.email,subject=session.subject,message= session.message):
            response.flash = 'email sent sucessfully.'
else:
            response.flash = 'fail to send email sorry!'

mail.send() 只是将邮件传递给 SMTP 服务器,响应只是表明服务器成功 received/accepted 邮件以进行进一步处理。要检查这一点,请断开您的计算机与网络的连接或故意破坏邮件配置并重试 - mail.send() 应该会失败,因为它无法连接到 SMTP 服务器以将邮件传递给它。

实际的邮件处理(包括目标地址检查)稍后在 SMTP 服务器和邮件传递路径上的其他服务器上进行。处理失败通常会导致错误电子邮件被发回(退回)——这是电子邮件交换协议栈中与 mail.send() 运行的级别不同的级别。