我正在做一個 MERN Stack 專案。在我的 MongoDB 收藏中。單個檔案包含如下欄位
- 用戶名
- 電子郵件
- 最后日期
lastDate屬性對于不同的用戶是不同的。我想在lastDate的 3 天之前自動向每個用戶發送一封電子郵件 。我不知道該怎么做。請給我指導如何做到這一點。謝謝!
uj5u.com熱心網友回復:
好吧,過去我一直在尋找類似的解決方案,我發現了這個,您可以將名為node-cron的模塊與 nodemailer 一起使用。
- 首先安裝它。
node install node-cron --save
- 匯入
node-cron和安排任務
let cron = require('node-cron');
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
注意:您可以在此處閱讀有關幾種 cron 調度模式的資訊。在上面的示例中,我們安排了每分鐘一次簡單的控制臺登錄。
這是我安排電子郵件每分鐘發送一次的組合代碼:
let cron = require('node-cron');
let nodemailer = require('nodemailer');
// e-mail message options
let mailOptions = {
from: '<FROM_EMAIL_ADDRESS>',
to: '<TO_EMAIL_ADDRESS>',
subject: 'Email from Node-App: A Test Message!',
text: 'Some content to send'
};
// e-mail transport configuration
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '<FROM_EMAIL_ADDRESS>',
pass: '<FROM_EMAIL_PASSWORD>'
}
});
cron.schedule('* * * * *', () => {
// Send e-mail
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' info.response);
}
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431860.html
