如何每天查询Firebase并检查日期是否与当前日期相同并自动发送电子邮件?

问题描述

我的问题是这样

我使用Firebase存储图像,音频,文本,视频。

我有一个Flutter应用程序,用户可以在其中添加这些图像,音频等。

在此应用程序中,用户可以将这些文件发送给某人,因为他需要选择日期并编写目标电子邮件

单击“发送”按钮时,电子邮件和日期将保存在Firebase中。

问题在于发送电子邮件

基本上,我每天需要查询Firebase来检查是否有任何电子邮件要发送。我需要查询日期,如果该日期与当前日期相同,我将收到电子邮件文件,然后将电子邮件发送给该人。

经过研究,我发现我可以使用cron作业并创建Web服务,但是我对如何执行此操作有很多疑问。还是有其他解决方案?

感谢提供帮助的人。

Firebase

存储电子邮件,要发送的文件和日期

Storage of email,files to send and date

图像存储

Storage of images

解决方法

还是有其他解决方案?

是的,您的情况下的一种经典解决方案是使用scheduled Cloud Function

您将每天运行一次此Cloud Function,在此Cloud Function中,您将使用Admin SDK进行以下操作:

  1. 根据日期查询电子邮件集合(您可以在一个字段中将日期,月份和年份连接起来)
  2. 基于此查询的结果,循环遍历文档,以便针对每个文档获取要发送的文件并发送电子邮件。

要开始使用Cloud Functions,您应该同时查看官方的docvideo series。官方样本也是必读内容,尤其是在您的情况下,显示how to send a mail的样本。

(请注意,如果您不熟悉Cloud Functions,您可能必须经历一下乍一看似乎很陡的学习曲线。但是一旦尝试了第一步,就不要犹豫在Stack Overflow中用您编写的代码和遇到的问题/难题提出新问题:我们将竭诚为您服务!)