如何找出Python send_message()无法正常工作的原因

时间:2014-07-27 12:01:53

标签: python sendmail

我在Python脚本中调用send_message(),但由于某种原因它不起作用。我目前有以下内容:

try:
    print "sending message"
    s.send_message(msg)
    print "message sent"
except (SMTPRecipientRefused, SMTPHeloError, SMTPSenderRefused, SMTPDataError) as e:
    print e

现在运行它,sending message被打印,但没有别的。没有例外细节,永远不会打印message sent。如何找出send_message()函数的问题?通用异常处理程序会有帮助吗?我已经尝试查找从send_message()返回的返回码或布尔值,但没有找到任何内容。任何关于如何追踪问题的建议都将不胜感激!

1 个答案:

答案 0 :(得分:1)

"消息打印"没有显示,因为s.send_message()是一个阻止调用。换句话说,"消息发送"在send_message()函数完成之前不会打印。尝试在创建SMTP对象时设置超时(我假设您使用该lib),然后当send_message失败时,您可以捕获异常。但在此期间请确保您的主机IP /端口正确。