Включение нескольких полей формы через Nodemailer с Express и Node.js - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь получать электронную почту каждый раз, когда пользователь отправляет мою контактную форму. Форма имеет следующие поля:

- электронная почта

- тема

- имя

- дорожка

- номер

- сообщение

Однако при отправке электронной почты Я могу получить только то поле, которое я ввел в поле «текст» в разделе «Параметры почты». Это не сработает, если я попытаюсь превратить его в массив или объект, потому что в нем говорится, что кусок должен быть строкой.

Как я могу отправить больше полей формы, чем я ввел в текст? Вот мой код:

POST Route Nodemailer:

app.post ("/contact" , urlencodedParser,  function(req, res){
    const transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'theemail',
    pass: 'emailpassword' // naturally, replace both with your real credentials or an application-specific password
  }
});

var subject = req.body.subject;
var email = req.body.email;

var data = [ 
    req.body.name,
    req.body.track,
    req.body.number,
    req.body.message,
]


const mailOptions = {
  from: req.body.email,
  subject: req.body.subject,
  to: "theemail",
  text: req.body.message,


};

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

    res.render("../EN/views/contact-success");
});

Форма HTML

<div class="fade-in serviceform text-center container form-group">
    <form method ="POST" action = "/contact">
    <p class=" text-center">Touring | Recording | Online sessions | Any other question</p>
    <input type="email" name="email" class="contactform" placeholder=" E-mail" required>
    <input type="text" name="subject" class="contactform" placeholder=" Subject" required>
    <input type="text" name="name" class="contactform" placeholder=" First and last name" required>
    <input type="text" name="track" class="contactform" placeholder=" Track Name" required>
    <input type="number" name="number" class="contactform" placeholder=" +351919999999" required>
    <textarea class="contactformtext" name="message" placeholder=" Write your message here." rows="3" required></textarea>
    <div class="text-center">
        <button type="submit" class="btn btn-outline-danger">Contact</button>       
    </div>
</form>
<div class ="text-center">
    <a class="anchor" href="https://www.facebook.com/"><i class="fab fa-facebook-square"></i></a><a class="anchor" href="https://www.instagram.com//"><i class="fab fa-instagram"></i></a>
<p>Facebook  | | Instagram  </p>
</div>
```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...