如何使用Cloud Functions接收和解析电子邮件?

时间:2019-02-05 23:30:30

标签: python firebase google-cloud-platform google-cloud-functions sendgrid

通过Google Cloud Functions,您可以在触发时轻松激活功能(例如Firebase数据更改,HTTP请求...)。

我正在寻找一种当用户发送(或通常是回复)电子邮件地址时执行功能的方法。例如,我的仪表板发送了一封电子邮件,我想捕获回复,解析内容并将其作为评论添加到Firebase中。

我了解Google建议使用Sendgrid。但是我不明白: -如何设置回复时的触发器 -如何阅读内容并设置读数

我只找到了如何发送电子邮件here

2 个答案:

答案 0 :(得分:2)

如果您使用GSuite,一种选择是使用Gmail watch mechanism收听收件箱中的新电子邮件。然后,可以将该消息发布到PubSub主题,该主题可以触发Cloud Function解析电子邮件并执行必要的后续步骤。

这里有一个很好的用例,可以解释这种机制
https://cloud.google.com/blog/products/application-development/adding-custom-intelligence-to-gmail-with-serverless-on-gcp

答案 1 :(得分:1)

Google Cloud Functions不在端点上提供永久侦听器。 SMTP也没有事件源,SMTP是电子邮件传递所涉及的协议。因此,您目前无法简单地响应电子邮件,因为它们现在带有Cloud Functions。

您可以做的是将流量定向到现有的SMTP服务器,然后使用“云功能”从那里at an interval进行读取。

一种替代方法是使用Sendgrid Inbound Email API,它可以为收到的每条消息调用一个Webhook。然后您的webhook将是HTTP触发的Cloud Function。