저는 NodeJS/Express 서버에서 메일을 보내려 할 때 Nodemailer을 사용하고 있습니다. 직접 메일을 보내는 대신 메일을 보내기 전에 20 분을 기다리고 싶습니다. 나는 이것이 개인적으로 느끼고 메일을 직접 보내는 것 같다고 생각한다.NodeJS가 지연된 전자 메일을 보내고 있습니다.
그러나 어떻게해야하는지 잘 모릅니다. 나는이 NodeCron 패키지처럼 NodeJS cronjob과 같은 것이 필요하지 않다고 생각하니?
router.post('/', (req, res) => {
const transporter = nodemailer.createTransport(smtpTransport({
host: 'smtp.gmail.com',
port: 465,
auth: {
user: '[email protected]',
pass: 'pass123'
}
}));
const mailOptions = {
from: `"${req.body.name}" <${req.body.email}>`,
to: '[email protected]',
subject: 'Form send',
html: `Content`
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) res.status(500).json({ responseText: error });
res.status(200).json({ responseText: 'Message send!' });
});
}
});
내 라우터는 위에 표시된 것과 같습니다. 따라서 게시물이 호출되면이 요청을 20 분 동안 기다려야합니다. cronjob 대신 게시물을 한 번만 실행하고 싶지만 약간의 지연이 있습니다. 이 작업을 수행하는 방법에 대한 제안 사항은 무엇입니까?
안녕하세요 Lajos, 당신도 내 마음을 읽고, 나는 같은 우려를 포함하도록 내 대답을 업데이 트했습니다 :) – CharlieBrown
@CharlieBrown 네, 그것은 우리 모두 비슷하게 생각하는 것 같습니다 :) –
@CharlieBrown과 함께 이것을 지적 해 주셔서 고맙습니다! 나는이 해결책을 찾아 가서 표식을 받아 들였다. – ronnyrr