代码之家  ›  专栏  ›  技术社区  ›  jrefior

如何在1.00秒内从zapier python发送邮件?

  •  0
  • jrefior  · 技术社区  · 6 年前

    有没有一种方法可以从“代码由zapier”zap发送到mailchimp,将订户添加到列表中,并在不到1.00秒内可靠完成?

    我周末在一个非营利组织的志愿黑客活动中度过。我的非盈利客户需要从电子邮件中解析出一些数据,用于将订户添加到mailchimp中的列表中(squarespace的商业部分通过电子邮件发送数据,但不允许将采购表单上的存储设置为mailchimp——即使在squarespace中,如果您不在通信中,也可以这样做。ERCE区域)。我们发现我们可以通过Zapier做到这一点——除非我们已经达到了在Zapier上使用免费帐户可以做到的限度,而且非营利组织目前无法购买付费帐户(非营利组织的Zapier折扣是15%的折扣)。

    第一个限制是我们不能进行3步Zap(免费帐户最多2步),从(1)Gmail触发器转到(2)“代码由Zapier”来解析电子邮件内容,然后(3)转到mailchimp。我们提出的解决方法是删除步骤3,然后通过http post直接从“代码由zapier”中的python脚本发送到mailchimp api。这在Zapier的测试模式下工作。

    但是一旦启动了Zap,我们对站点进行了端到端的测试,Zap就失败了。有一个1.00秒的运行时间限制来释放zaps:在那之后zapier杀死了作业。发到mailchimp的邮件花了足够长的时间,Zap超时了。

    我用“代码由zapier”和python发送邮件。 They use Python 2.7.10 . 我能够 import requests 为了完成这篇文章,我发现其他几个模块也可以工作,比如 json , httplib urllib .

    我想知道的是,是否有一种方法可以在不到1秒的时间内让帖子可靠地发生。例如,是否有一种方法可以使用异步发送,然后不等待响应。我被限制在python 2.7.10和zapier环境中。Zapier还允许JavaScript作为Python的替代方案,因此这可能是研究Python中是否没有解决方案的另一条途径。

    1 回复  |  直到 6 年前
        1
  •  1
  •   xavdid    6 年前

    大卫在这里,来自扎皮尔平台团队。

    我不能具体地说Python的速度,但我知道JavaScript可以在不等待响应的情况下触发请求。我们有一个基本的例子 here ,您将修改它以发送请求并立即结束执行(通过调用 callback 功能)。这不会是一次很好的体验,因为错误会静静地发生,但它几乎肯定会出现在1秒的窗口中。

    另外,整个python stdlib以及 requests 模块( docs )