为什么我不能在Google应用引擎上发送电子邮件?

时间:2016-03-17 02:14:03

标签: python email google-app-engine cron

我无法在Google应用引擎上发送电子邮件。

sender_address是应用程序的所有者。我想用“cron”每天向某人发送电子邮件。

这是我的python代码:

import requests
text = requests.get('http://www.py4inf.com/code/romeo.txt').text

这是我的cron.yaml代码:

class Send_Email(webapp2.RequestHandler):
    def post(self):
        self.abort(405, headers = [('Allow', 'GET')])
    def get(self):
        if 'X-AppEngine-Cron' not in self.request.headers:
            self.error(403)
        sender_address = "David <z25189347@gmail.com>"
        user_email = "chaowc@mail.ncnu.edu.tw"
        subject = "Work Complete!"
        body = "Picture uploaded!"
        mail.send_mail(sender_address, user_email, subject, body)

app = webapp2.WSGIApplication([(r'/', MainPage),
                             (r'/sendemail', Send_Email),
                             ], debug=True)

这是我的app.yaml代码:

cron:
- description: Send Email
  url: /sendemail
  schedule: every day 00:00
  timezone: Asia/Taipei

当我在localhost上运行我的应用程序时,总是显示:

handlers:
- url: /sendemail
  script: main.app

- url: /.*
  script: main.app
  secure: always

但是,当我部署到Google应用引擎时,日志始终会显示错误消息:

Request to /sendemail succeeded!

我不知道我在哪里做错了。有人帮帮我!谢谢!

1 个答案:

答案 0 :(得分:3)

您需要将发件人电子邮件地址添加到开发者控制台中的授权发件人列表&gt; App Engine&gt;设置&gt;应用程序设置。