Skip to main content
 首页 » 编程设计

Python、Django : catch SMTPRecipientsRefused. 改为获取 "undefined variable"

2025年05月04日38freeliver54

当我尝试发送电子邮件时出现以下异常:

Traceback (most recent call last): 
  my_own_functions ... 
  File "C:\Python27\lib\site-packages\django\core\mail\message.py", line 248, in send 
    return self.get_connection(fail_silently).send_messages([self]) 
  File "C:\Python27\lib\site-packages\django\core\mail\backends\smtp.py", line 92, in send_messages 
    sent = self._send(message) 
  File "C:\Python27\lib\site-packages\django\core\mail\backends\smtp.py", line 110, in _send 
    email_message.message().as_string()) 
  File "C:\Python27\lib\smtplib.py", line 733, in sendmail 
    raise SMTPRecipientsRefused(senderrs) 
SMTPRecipientsRefused: {'aaa': (553, "5.1.2 We weren't able to find the recipient domain. Please check for any\n5.1.2 spelling errors, and make sure you didn't enter any spaces, periods,\n5.1.2 or other punctuation after the recipient's email address. q10sm6381464wie.2")} 

我想捕获那个异常并尝试过:

try: 
    sendActivationEmail() 
except SMTPRecipientsRefused: 
    return "error" 

但是,这给了我一个“ undefined variable ”错误。它无法识别 SMTPRecipientsRefused。在 Eclipse 中它说“ undefined variable :SMTPRecipientsRefused”

请您参考如下方法:

异常就像 Python 中的任何其他类:您需要先将其导入代码,然后才能引用它。您需要 from smtplib import SMTPRecipientsRefused。