如何在发布请求中保存从客户端发送到服务器的数据,并在其他功能中使用该数据?

时间:2018-11-15 03:51:22

标签: javascript node.js sendgrid

我的服务器中有一个cron作业,该作业使用sengrid sgMail发送电子邮件, 我的问题是,要发送该电子邮件,我需要从客户端获取TO电子邮件。

1-我正在通过邮寄请求将电子邮件地址从客户端发送到服务器

-客户端POST部分工作正常:

2-我的问题是如何在服务器端获取该电子邮件地址并将其传递给我的emailSender函数:

我可以通过电子邮件发送邮件,也可以发送测试电子邮件

 exports.configure = (app) => {
  // Test route to ensure API succesfully sends email
    app.post('/api/email/', sendEmailTest)


 function sendEmailTest(req, res, done) {
   let toEmail = req.body.email
   emailService.sendEmail(toEmail)
 }
}

3-但是在另一个文件中,我有cronJob函数,我的问题是如何获取从该POST请求中获取的电子邮件,并在另一个文件中使用它?

第三个文件是这样的:

const emailService = require('../services/emailService');

exports.register = (agenda) => {
  agendaInstance = agenda;

  // Define what this job will do
  agendaInstance.define(jobName, () => {
  // Retrieve all alarms from our database
    alarmRepo.getAlarms((err, alarms) => {
    // Iterate through all alarms
      alarms.forEach((alarm) => {
      // ...send a mail
      let message = `${alarm.text} the email to send`

      **How can I pass the email to the sendEmail function**

      emailService.sendEmail(message, () => {
        console.log(message);

      });
     });
    });
   });
  };

0 个答案:

没有答案