Контроллер Nodejs отправляет неверные данные с Nodemailer - PullRequest
0 голосов
/ 12 октября 2019

Мы пытаемся создать контактную форму. проблема в том, что данные от Node mailer показывают мои собственные, а я отправляю электронное письмо тем, кто их отправляет. Вот код:

app.post('/api/v1/contact', (req, res) => {
  var data = req.body;

  var smtpTransport = nodemailer.createTransport({
    service: 'Gmail',
    port: 465,
    auth: {
      user: '',
      pass: ''
    }
  });

  var mailOptions = {
    from: data.email,
    to: 'myemail@domain.com',
    subject: data.title,
    html: `<p>${data.email}</p>
          <p>${data.message}</p>`, 

...
...

data.email внутри HTML-тега внутри тела письма правильно показывает адрес электронной почты отправителя, а в поле from тот же data.email показывает мой собственный адрес электронной почты. Похоже, я посылаю мне письмо. В чем проблема?

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Цель контактной формы на любом веб-сайте, чтобы сделать сообщение от клиента владельцу сайта.

Вы не можете заставить клиента отправлять электронную почту, используя страницу контактов. Вы можете ответить на их электронную почту.

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

Лучше сообщить администратору сайта. / адрес электронной почты поддержки в

auth: {
      user: '',
      pass: ''
    }

атрибут пользователя и пароль для того же атрибута pass.

Это не проблема nodemailer.

0 голосов
/ 12 октября 2019

Это не ошибка. У вас просто нет доступа к отправке писем с чужого адреса электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...