2

我有麻烦了。我现在玩了很长时间,在谷歌应用程序中接收电子邮件,但在我的应用程序日志中只得到这个:

0.1.0.20 - - [13/Jun/2013:08:42:23 -0700] "POST /_ah/mail/contact@myappid.appspotmail.com HTTP/1.1" 200 0 - - "myappid.appspot.com" ms=69 cpu_ms=0 cpm_usd=0.100008 app_engine_release=1.8.1 instance=00c61b117c2fb913155f167711d12979c818fd

我的邮件处理程序脚本应该是这样的:mailmain.py

import logging
import webapp2
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from google.appengine.api import mail 

class LogSenderHandler(InboundMailHandler):
    def receive(self, mail_message):
        tobesent = mail_message.subject
        logging.info("From: " + mail_message.sender)
        logging.info("To:" + mail_message.to)
        logging.info("Subject: " + mail_message.subject)
        logging.info("Date: " + mail_message.date)

app = webapp2.WSGIApplication([LogSenderHandler.mapping()], debug=True)

我的 app.yaml 是这样的:

application: myappid
version: 1
runtime: python27
api_version: 1
threadsafe: no

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /_ah/mail/contact@myappid.appsportmail.com
  script: mailmain.py 
  login: admin

- url: /.*
  script: mailmain.py

inbound_services:
- mail

我尝试过使用脚本,所以我有很多版本,有些以这个结尾(如果这很重要)但实际上没有任何效果:

def main():
    app = webapp2.WSGIApplication([LogSenderHandler.mapping()], debug=True)
    run_wsgi_app(application)
if __name__ == "__main__":
    main()

我也上传了一个 favicon.ico。

谷歌搜索了几个小时的错误,但没有任何效果。在 Stackoverflow 上,我找到了类似的错误消息解决方案,例如正确recieve进入receive,但这里不是这种情况。我也复制了其他解决方案,也是从GITHUB复制的,所以我相信这个问题不是重复的。

4

1 回答 1

3

你混淆了 CGI 和 WSGI。请参阅 Python27 入门。文档:https ://developers.google.com/appengine/docs/python/gettingstartedpython27/usingwebapp

Yaml 更新:

application: myappid
version: 1
runtime: python27
api_version: 1
threadsafe: false

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /_ah/mail/contact@myappid.appsportmail.com
  script: mailmain.app
  login: admin

- url: /.*
  script: mailmain.app

inbound_services:
- mail

使用 WSGI,您不需要 run_wsgi_app 的东西。

还有一些关于 CGI / WSGI 的背景:http: //blog.notdot.net/2011/10/Migrating-to-Python-2-7-part-1-Threadsafe

于 2013-06-13T17:01:02.460 回答