关于发送电子邮件Plone community-managed developer docs之后:
try:
host = getToolByName(self, 'MailHost')
return host.send(mail_text)
except SMTPRecipientsRefused:
# Don't disclose email address on failure
raise SMTPRecipientsRefused('Recipient address rejected by server')
...但return host.send(mail_text)
始终返回None
,无论电子邮件是否已发送(电子邮件实际发送)。那么,我可以假设None
是结果,它是成功的吗?这对我来说不合适。有什么想法吗?
答案 0 :(得分:6)
Python有异常,因此不需要返回状态代码来指示失败。 (使用C / Unix,返回码0表示成功,布尔值表示错误。)
如果您需要对代码中的邮件失败做出反应,则必须在参数中包含immediate=True
,否则邮件将在事务边界发送并可能排队。然后,您可以使用try / except来捕获异常。
答案 1 :(得分:3)
该代码假定发送有效,除非引发异常