使用 node.js 从 Angular 发送预定的电子邮件报告

Send scheduled email reports from Angular using node.js

我已经建立了一个 Angular 项目,它正在使用来自 NodeJS 应用程序的 API。

Angular 仪表板有一些 reports/charts,我将在数据库中的某处配置一个时间表。 我想添加日程安排功能,以便收到一封包含 graph/chart 作为电子邮件正文的自动电子邮件。

谁能指导我!

您可以使用来自 npm node-schedulenode-schedule 包,它将帮助您在任何时候发送电子邮件时安排 cron 作业。

const schedule = require('node-schedule')

const job = schedule.scheduleJob('21 * * * *', function(){
  console.log('Send my email.')
})

这将在任何一小时的 21 分钟恰好执行此 cron。

您可以通过 npm 包了解更多调度细节。

您的计划将不得不在 NodeJS 应用程序之外进行,因为它可以始终 'alive' Angular 项目仅在您将其加载到浏览器中并且无法处理时才执行操作当你没有打开它时计划的电子邮件(除非你可能将其设为 PWA,但是从 Angular 中完成它仍然会相当复杂)。

在服务器上进行所有处理,包括生成图表并将其呈现到您通过 SMTP 或通过 Mailgun 或 Sendgrid 等服务发送的电子邮件中。