我在GAE上处理入站电子邮件,但在检测是否有CC值时出现问题。代码基本上要做三件事: 1)如果CC没有值,则不执行任何操作。 2)当CC存在时,将CC保存到item.cc。 3)如果发生错误,请记录。 我已经编写了以下代码来执行此操作:
import traceback
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from myapp.models import Item
class MyTask(InboundMailHandler):
def receive(self, mail_message):
item = Item()
try:
if mail_message.cc == None:
pass
else:
item.cc = mail_message.cc
except:
stacktrace = traceback.format_exc()
logging.error("%s", stacktrace)
item.put()
但是,当我处理没有CC值的电子邮件时,我收到以下错误:
AttributeError:' InboundEmailMessage'对象没有属性' cc'
我在这里缺少什么?
答案 0 :(得分:1)
阅读源代码,看起来InboundEmailMessage
的大多数属性只有在它们具有非空值时才会被设置。
您可以执行以下操作:
try:
item.cc = mail_message.cc
except AttributeError:
pass