2

困っています。私は今、Googleアプリでメールを受信して​​長い間遊んでいますが、私のアプリケーションログではこれしか得られません:

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 で、私は correct recieveintoなどの同様のエラーメッセージの解決策を見つけまし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 に答える