如何使用 node.js 将电子邮件发送到节点邮件程序中的动态地址

How to send email to dynamic addresses in node-mailer using node.js

我在 html 页面中有一个名为电子邮件的字段。我正在使用 req.body.e 从那里收到这封电子邮件,我想将一些特定的邮件发送到这个地址(动态的,无论谁输入他的电子邮件地址,邮件都会发送到他的电子邮件)。我面临的唯一问题是我不知道在代码中的“to:”中写什么。

app.post('/mail', (request, response) => {
  var e = request.body.e;

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'pjd1@gmail.com',
    pass: 'uni9039'
  }
});

var mailOptions = {
  from: 'pjd1@gmail.com',
  to: 'e' ,
  subject: 'Testing',
  text: `Only test`
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});
})

这是html字段

   <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" name="e" placeholder="Enter email" name="email">
    </div>

在这段代码中我遇到了这个错误。

假设输入值以常规形式提交,需要在Node.js端用合适的中间件解析请求体内容:

const express = require('express');
app.use(express.urlencoded());

app.post('/mail', (request, response) => {
  var e = request.body.e;
  console.log(e);
// ...the rest of code