【发布时间】:2021-07-02 04:00:03
【问题描述】:
我已经建立了一个 Angular 项目,它正在使用来自 NodeJS 应用程序的 API。
Angular 仪表板有一些报告/图表,我将在 DB 中的某处配置一个时间表。 我想添加日程安排功能,以便我收到一封包含图形/图表作为电子邮件正文的自动电子邮件。
谁能在这里指导我!
【问题讨论】:
标签: node.js angular email cron nodemailer
我已经建立了一个 Angular 项目,它正在使用来自 NodeJS 应用程序的 API。
Angular 仪表板有一些报告/图表,我将在 DB 中的某处配置一个时间表。 我想添加日程安排功能,以便我收到一封包含图形/图表作为电子邮件正文的自动电子邮件。
谁能在这里指导我!
【问题讨论】:
标签: node.js angular email cron nodemailer
您的日程安排必须在 NodeJS 应用程序之外进行,因为它可以始终“活动”。Angular 项目仅在您将其加载到浏览器中时才会执行操作,并且当您没有时无法处理已安排的电子邮件它是开放的(除非您可能将其设为 PWA,但从 Angular 中执行它仍然会相当复杂)。
在服务器上进行所有处理,包括生成图表并将其呈现为您通过 SMTP 或通过 Mailgun 或 Sendgrid 等服务发送的电子邮件。
【讨论】:
您可以使用来自 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 包了解更多调度细节。
【讨论】: