node.js 응용 프로그램이 있고이 응용 프로그램에서 매일 오전 8시에 몇 명의 사람들에게 HTML 전자 메일을 보내려고합니다. 데이터베이스에서 일부 데이터를 가져 와서 부트 스트랩 대시 보드 템플릿에 표시하는 dashboard.ejs 파일이 있습니다. 이 dashboard.ejs를 응용 프로그램에서로드 할 때와 마찬가지로 데이터베이스의 모든 데이터와 스타일을 포함하는 HTML 전자 메일로이 dashboard.ejs를 보내려고합니다.nodejs 응용 프로그램에서 ejs 파일을 cronjob으로 보내는 방법
나는 cron 작업 준비 및 메일러 기능을 준비했습니다. 이메일로 dashboard.ejs 파일을 HTML로 보내면됩니다. 수행 할 수 있습니까? 그렇다면 모든 도움을 주시면 감사하겠습니다.
var mailer = require('express-mailer');
var CronJob = require('cron').CronJob;
mailer.extend(app, {
from: '[email protected]',
host: 'smtp.gmail.com',
secureConnection: true;
port: 465, // port for secure SMTP
transportMethod: 'SMTP',
auth: {
user: '[email protected]',
pass: 'password'
}
});
var job = new CronJob('00 49 * * * *', function() {
console.log('This runs on 49th second of every min every hour every day every month every year')
app.mailer.send('dashboards/dashboard', {
to: '[email protected]',
subject: 'TEST EMAIL',
message:'Hello World'
},
function(err) {
if(err)
console.log('ERROR', err);
}
);
},
function() {
console.log('This function is executed when job stops');
},
false,
'Asia/Kolkata'
);
job.start();
감사합니다. @peteb. 나는 node.js에 완전히 익숙하지 않아 프레임 워크 나 작동에 대해 전혀 모른다. 귀중한 정보와 안내에 감사드립니다. 이 방법을 구현하고 작동하는지 알려 드리겠습니다. –
당신의 방법은 매력처럼 작동하지만, 나는 또한 내 이메일에 CSS와 이미지를 가져와야합니다. 이 메일에 이미지/CSS를 삽입하는 방법에 대한 단서가 있습니까? –
@BiswarupDass 이미지 임베드의 경우 base64 문자열로 변환하여 전송할 수 있습니다. – DevShadow