Контактная форма не отправляет письмо - PullRequest
0 голосов
/ 09 июля 2019

Я последовал примеру, чтобы отправить электронное письмо из моей контактной формы, но оно не работает.Последняя строка кода включает порт № 3000. Я не смог заставить это работать на сервере.

const express = require('express');
const bodyParser = require('body-parser');
const exphbs = require('express-handlebars');
const path = require('path');
const nodemailer = require('nodemailer');

const app = express();

app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');

app.use('/public', express.static(path.join(__dirname, 'public')));

app.use(bodyParser.urlencoded({ extended: false}));
app.use(bodyParser.json());


app.get('/', (req, res) => {
    res.render('contact');
});

app.post('/send', (req, res) => {
    const output = '
        <p>You have a new contact request</p>
        <h3>Contant Details</h3>
        <ul>
            <li>First Name: ${req.body.firstName}</li>
            <li>Last Name: ${req.body.lastName}</li>
            <li>Email: ${req.body.email}</li>
        </ul>
        <h3>Message</h3>
        <p>${req.body.emailInfo}</p>
    ';

  let transporter = nodemailer.createTransport({
    host: "mail.tinycakesbakery.com",
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
      user: 'support@tinycakesbakery.com', // generated ethereal user
      pass: 'Left out on purpose' // generated ethereal password
    }
  });

  // send mail with defined transport object
  let info = await transporter.sendMail({
    from: '"Tiny Cakes Bakery" support@tinycakesbakery.com', // sender address
    to: "Left out on purpose", // list of receivers
    subject: "Form Submission", // Subject line
    text: "Hello world?", // plain text body
    html: output // html body
  });

  transporter.sendMail(mainOptions, (error, info) => {
      if (error) {
          return console.log(error);
      }
    console.log("Message sent: %s", info.messageId);
    console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));

Эта строка не работает.Он не будет связываться с веб-приложением

    res.render('contact', {msg:'Email has been sent'});
  });
});

app.listen(3000, () => console.log('Server Started...'));

Я не уверен, нужна ли эта последняя строка.

...