我已经建立了一个 Angular 项目,它正在使用来自 NodeJS 应用程序的 API。
Angular 仪表板有一些报告/图表,我将在 DB 的某处配置一个时间表。 我想添加日程安排功能,以便我会收到一封包含图形/图表作为电子邮件正文的自动电子邮件。
任何人都可以在这里指导我!
答案 0 :(得分:0)
您可以使用 npm node-schedule 中的 node-schedule 包,它可以帮助您在想要发送电子邮件时安排 cron 作业。
const schedule = require('node-schedule')
const job = schedule.scheduleJob('21 * * * *', function(){
console.log('Send my email.')
})
这将在任何小时的 21 分钟执行此 cron。
您可以通过 npm 包了解更多调度细节。
答案 1 :(得分:0)
您的日程安排必须在 NodeJS 应用程序之外发生,因为它可以始终处于“活动状态”。Angular 项目仅在您将其加载到浏览器中时才执行操作,并且在您没有时无法处理该计划的电子邮件它是开放的(除非你可能将它变成 PWA,但如果用 Angular 来实现它仍然会相当复杂)。
在服务器上进行所有处理,包括生成图表并将其呈现为您通过 SMTP 或通过 Mailgun 或 Sendgrid 等服务发送的电子邮件。