как отправить письмо используя node js - PullRequest
0 голосов
/ 29 апреля 2020

Я попробовал nodemailer, но он не работает. Я хочу отправить электронное письмо пользователю через мой node js веб-сайт. Может кто-нибудь, пожалуйста, помогите мне сделать это // code

var nodemailer = require('nodemailer');

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

var mailOptions = {
  from: 'youremail@gmail.com',
  to: 'myfriend@yahoo.com',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

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

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

По моему опыту, отправка электронных писем может быть намного проще, если передать работу поставщику, например https://www.mailgun.com, стоимость которого составляет 0,0008 долларов США за каждое электронное письмо. Причиной этого является не только простота, но и возможность доставки. За эти годы так много людей отправили так много фальшивых и нежелательных писем, которые часто не попадают в папки со спамом, если сервер настроен неправильно. Такие вещи, как добавление записей SPF в домены, очевидно, могут помочь, но, честно говоря, сейчас я просто использую отправляющего провайдера.

0 голосов
/ 29 апреля 2020

Попробуйте это. Порт должен быть 465.

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'youremail@gmail.com',
    pass: 'yourpassword'
  },
  port: 465,
  secure: true,
  tls: {
    rejectUnauthorized: false
  }
});
...