【问题标题】:How to send mail using Python in Google App Engine (not working)如何在 Google App Engine 中使用 Python 发送邮件(不工作)
【发布时间】:2014-06-05 12:33:44
【问题描述】:

我在 Google 应用引擎中有一个使用 jQuery 和 Python 的应用程序,它允许用户发布内容...我在 Python 中有一个恢复密码处理程序,我希望这个处理程序通过发送该用户来处理查询/数据一封电邮。但它似乎不起作用:

class RecoverHandler(webapp2.RequestHandler):
    def get(self):
        #email = self.request.get('#email')
        usr = self.request.get('email')#or email
        dob = self.request.get('dob')
        name = self.request.get('maidenName')
        callback = self.request.get('callback')
        #get user from database
        #user = User.get_by_id(#email)
        user = User.get_by_id(usr)
        #if user exists check for correct password
        dobx = user.dob
        namex = user.maidenName
        if user:
            if dobx == dob:
                if namex == name:
                    self.response.write(callback + '({"response":"login Complete"})')

                    mail.send_mail(sender="Example.com Support <support@example.com>",
                    to="Albert Johnson <Albert.Johnson@example.com>",
                    subject="Your account has been approved",
                    body="""
                    Dear Albert:
                    Your example.com account has been approved.  You can now visit
                    http://www.example.com/ and sign in using your Google Account to
                    access new features.Please let us know if you have any questions.The example.com Team""")

                else:
                    self.response.write(callback + '({"response":"login incomplete"})')
            else:
                self.response.write(callback + '({"response":"login Password incorrect"})')
        else:
            self.response.write(callback + '({"response":"login not found"})')

【问题讨论】:

  • 你能解释一下什么不起作用吗?或者它是如何不工作的
  • 您是否进一步阅读了下面的警告the page you took that snippet from?您的实际发件人地址是否符合其中一项标准?
  • 是的,发件人地址符合条件,因为我是所有者和开发商。另一方面,接收方是一个普通地址 example.com,这可能是个问题吗?他们必须拥有 Google 帐户吗?

标签: python google-app-engine email


【解决方案1】:

user = User.get_by_id(usr)?

您的实体 ID 真的是他们的电子邮件地址吗?您可以添加一些日志记录吗?如果您的 ID 不是电子邮件地址,user.dobuser.maidenName 应该会抛出 NoneType 错误。

dobx = user.dobnamex = user.maidenName 应该放在if 中,这样如果找不到用户,它们就不会抛出错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2014-10-15
    • 2016-12-04
    相关资源
    最近更新 更多