2

次のようなさまざまなアドレスに送信された(開発サーバー上の)受信メールを処理しようとしています。

- url: /_ah/jogo@.*rpg2e\.appspotmail\.com
script: jogo.py

- url: /_ah/contato@.*rpg2e\.appspotmail\.com
script: contato.py

- url: /.*
script: helloworld.py

しかし、次のログメッセージが表示されます:

INFO     2012-07-27 20:05:31,759 dev_appserver.py:2952] "POST /_ah/mail/jogo@rpg2e.appspotmail.com HTTP/1.1" 404 -

私も試しました:

- url: /_ah/jogo@rpg2e\.appspotmail\.com
script: jogo.py

- url: /_ah/contato@rpg2e\.appspotmail\.com
script: contato.py

- url: /.*
script: helloworld.py

無駄に。

単純に handle_all を使用すると魅力的に機能しますが、正しい handle@rpg2e.appspotmail.com に送信された電子メールのみをスクリプトで処理するようにしたいと考えています。

Web と Stack Overflow でしばらく検索した後、私のような多くの質問に出くわしました。それらのいくつかは、Ikai Lane[1] によって同じ結論で回答されました-すべての作品のみをキャッチしてください.

繰り返しになりますが、複数のハンドラーを使用して成功した人はいますか?

[1] https://groups.google.com/forum/?fromgroups#!topic/google-appengine-java/UGTkMV9foJ0

4

1 に答える 1

3

Google App Engine Pythonから- メールの受信

url: /_ah/mail/owner@.*your_app_id\.appspotmail\.com 
  script: handle_owner.py 
  login: admin
- url: /_ah/mail/support@.*your_app_id\.appspotmail\.com 
  script: handle_support.py 
  login: admin

/mail/必要なパスの一部がありません。/_ah/jogo@rpg2e.appspotmail.comの代わりに に投稿しています/_ah/mail/jogo@rpg2e.appspotmail.com。代わりにこれを試してください:

- url: /_ah/mail/jogo@rpg2e\.appspotmail\.com
  script: jogo.py

- url: /_ah/mail/contato@rpg2e\.appspotmail\.com
  script: contato.py

最後に、私たちは皆、問題に直面したときに少し視野狭窄に陥ることがありますが、エラー メッセージの値に注目する価値があります。エラー メッセージは、App Engine が POST リクエストを行うときにどこを見ているかを示しています。これは、ハンドラーと一致する可能性があります。

INFO   2012-07-27 20:05:31,759 dev_appserver.py:2952] "POST /_ah/mail/jogo@rpg2e.appspotmail.com HTTP/1.1" 404 
于 2012-07-27T20:31:20.073 に答える