2014-02-05 37 views
0

这个脚本不能正常工作,GAE send_mail不工作

class EmailPage(webapp2.RequestHandler): 
    def post(self): 
     try: 
      mail.send_mail(
       self.request.get("email"), "[email protected]", 
       self.request.get("subject"), self.request.get("body") 
      ) 
     except: 
      self.response.out.write("Not working") 

它以“不工作”的回应,但如果切换发送者和接收者能正常工作。我希望用户提供的电子邮件成为发件人,“[email protected]”用于接收电子邮件。

+0

什么是例外?你应该抓住它并打印它的堆栈跟踪,以便你知道更多。 – tayfun

+0

@tayfun我如何着手打印堆栈跟踪? – cinderblock

+0

@cinderblock:摆脱整个尝试/除了块。捕捉你无法处理的异常并编写你自己无用的错误消息是一个坏主意。 (假设您没有打开调试,错误将发送到您的日志,而不是浏览器) – geoffspear

回答

1

您不能随意更改发件人地址。见google's appengine docs此:

发件人地址 必须是以下类型之一:

注册管理员为应用程序的地址。您可以使用管理控制台向管理员添加管理员到应用程序 。 用 Google帐户登录的当前请求的用户地址。您可以使用用户API确定当前用户的电子邮件地址 。用户的帐户必须是Gmail帐户,或者在由Google Apps管理的域中为 。接收地址为 的任何有效的电子邮件(例如[email protected])。接收域帐户地址的任何有效电子邮件地址 ,例如[email protected]。 域帐户是Google域之外的帐户,其电子邮件地址为 ,这些地址不以@ gmail.com或@ APP-ID.appspotmail.com结尾。