7

在过去的几天里,我一直在尝试从我的 GAE 应用程序发送确认电子邮件,但我的 GAE 电子邮件配额已达到其限制,虽然我启用了计费,但我的电子邮件配额不会重置,因为我刚刚启用了计费.

我已经研究过使用 Mandrill/MailChimp(通过包装 API)并让他们从我的桌面发送电子邮件。但是,当我在 GAE 应用程序中使用我的代码并在本地开发服务器或在线服务器上运行它时,它们不会发送电子邮件,因为 mailsnake、chimpy 等都需要“请求”python 模块。因此,我下载了该模块并将其正确放置在我的应用程序引擎项目中的位置。

然后我又遇到了一个错误...

  File "/home/ahmad/Dropbox/milsal/requests/packages/urllib3/connectionpool.py", line 83, in set_cert
    'CERT_NONE': ssl.CERT_NONE,
AttributeError: 'module' object has no attribute 'CERT_NONE'

然后我意识到请求模块依赖于ssl.py,ssl.py是_ssl的python包装器(应用引擎python(2.7)不支持ac库)。

所以我尝试将 ssl.c 放在那个位置,但它没有用......所以现在我被卡住了......

我在想自己,即使我把 ssl.c 放在 python ssl 包装器模块可以使用它,可能会出现另一个错误,我将永远无法跟上所有依赖项 mailchimp/mandrill python api包装器需要在我的桌面 python 上自动存在的 GAE 版本的 python 上运行。

因此,虽然我可以使用我的 ubuntu python 发送电子邮件,但我无法从 GAE 发送它们。

我的第一个问题是,我想知道是否有人收到了来自 GAE 的 mailchimp/mandrill 电子邮件。

第二个问题是:如果没有其他替代方法可以让我使用 mandrill/mailchimp 从 GAE 发送电子邮件,我该如何在 GAE 项目中安装 python 模块并自动安装它的所有依赖项..?

感谢您提前提供任何帮助..

4

2 回答 2

4

您可以直接使用Mandrills REST API 发送消息

您可以使用URL Fetch API发出 REST 请求并使用JSON序列化/反序列化有效负载。

于 2012-10-22T05:10:10.367 回答
2

根据@PeterKnego 的回答发布对我有用的代码:

from google.appengine.api import urlfetch

def sendMandrillEmail():
    json_mandrill = {
        "key": "YOUR_API_KEY",
        "message": {
            "html": "<p>Example HTML content</p>",
            "subject": "Test subject",
            "from_email": "example@email.com",
            "from_name": "Example Name",
            "to": [
                {
                    "email": "example.to@email.com"
                }
            ]
        }
    }
    url = "https://mandrillapp.com/api/1.0/messages/send.json"
    result = urlfetch.fetch(url=url,
        payload=json.dumps(json_mandrill),
        method=urlfetch.POST,
        headers={'Content-Type': 'application/x-www-form-urlencoded'})
于 2015-02-09T16:13:26.070 回答