python - google appengine 接收电子邮件错误

标签 python google-app-engine email

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

0.1.0.20 - - [13/Jun/2013:08:42:23 -0700] "POST /_ah/mail/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="31525e5f45505245715c4850414158551f50414142415e455c50585d1f525e5c" rel="noreferrer noopener nofollow">[email protected]</a> 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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ed8e8283998c8e99ad80948c9d9d8489c38c9d9d9e9d829f99808c8481c38e8280" rel="noreferrer noopener nofollow">[email protected]</a>
  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。

在 Google 上搜索了该错误几个小时,但没有任何效果。 在 Stackoverflow 上,我发现了类似的错误消息解决方案,例如将 recieve 正确地转换为 receive,但这里的情况并非如此。我也复制了其他解决方案,这也是来自 GITHUB所以我相信这个问题不是重复的。

最佳答案

你混淆了 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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a8cbc7c6dcc9cbdce8c5d1c9d8d8c1cc86c9d8d8dbd8c7dadcc5c9c1c486cbc7c5" rel="noreferrer noopener nofollow">[email protected]</a>
  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

关于python - google appengine 接收电子邮件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17091786/

相关文章:

python - NLP——加速词相似度匹配

google-app-engine - AppEngine 的自定义服务帐户

javascript - 具有 ajax 请求和 python 交互的 Google 应用引擎

mysql - 使用mysql客户端连接云sql实例

python - Ubuntu 14.04 EC2 上出现 Flask-mail SMTPServerDisconnected 错误

python - 获取 MySQL 错误

python - 检测图像中不均匀照明的稳健算法[仅需要检测]

email - Grails从Gmail企业电子邮件发送电子邮件异常(exception):身份验证失败;嵌套的异常是javax.mail.AuthenticationFailedException

bash - 发送有关受监控目录中文件更改的电子邮件

python - 使用 beautiful soup 有条件地获取类内容