具有新元素的 Nodemailer

Nodemailer with new elements

我在 NodeMailer 中有此代码用于发送电子邮件:

var mailOptions = {  
  from: 'test@test.com',  
  to: 'send@send.com',  
  subject: 'mail',  
  text:'test'  
 }

我有这个功能:

    mens.message(params, (err, response) => {
        if (err){
          res.status(500).json(err);
        }
        else {
        if(response.context.reporte){
----------->  var report = response.context.reporte;
            response.context.reporte=null;
                transporter.sendMail(mailOptions, function(error, info){
              if (error) {
                    console.log(error);
                    } 
                    else {
                            console.log('Email Send: ' + info.response) ;
                                        }
                                      });  
                  }  

              } 
        });

我该怎么做,这个有消息的变量 "report" 可以替换 nodemailer 的 "text" 属性吗?

非常感谢!

您需要用新值覆盖文本

    mens.message(params, (err, response) => {
        if (err){
          res.status(500).json(err);
        }
        else {
        if(response.context.reporte){
            var report = response.context.reporte;
            response.context.reporte=null;
            mailOptions = { ...mailOptions, ...{ text: report } }; // <<<< CHANGE IS HERE
                transporter.sendMail(mailOptions, function(error, info){
              if (error) {
                    console.log(error);
                    } 
                    else {
                            console.log('Email Send: ' + info.response) ;
                                        }
                                      });  
                  }  

              } 
        });

如果您的节点版本不支持 spread operator 那么您可以将 mailOptions = { ...mailOptions, ...{ text: report }} 替换为 Object.assign(mailOptions, { text: report });