невозможно отправить электронное письмо в nodejs

Я использую пакет nodemail npm.

Я настроил параметры следующим образом:

function feedback(req, res, next){
    console.log('feed back given....', req.body);
    smtpTrans = nodemailer.createTransport('SMTP', {
        service: 'Gmail',
        host: 'smtp.gmail.com',
        port: 587,
        secure: false,
        ignoreTLS: false,
        tls: { rejectUnauthorized: true },
        debug: false,
        auth: {
            user: "[email protected]",
            pass: "xxxxxx" 
        }
    });

    //Mail options
    mailOpts = {
        from: from: req.body.email,
        to: '[email protected]',
        subject: 'EMAIL FROM Rsc-student: ' + req.body.subject,
        text: req.body.message
    };

    smtpTrans.sendMail(mailOpts, function (error, response) {
      //Email not sent
      if (error) {
          res.send(error);
          console.log('error sending mail');
      }
      else {
          res.send(response);
          console.log('success sending mail');
      }
    });
}

Если я не ошибаюсь, я настроил правильно, но все еще не могу отправить почту. Это печатает случай ошибки


person kittu    schedule 02.12.2016    source источник
comment
можешь поделиться error?   -  person Bhavana    schedule 02.12.2016
comment
from: from: req.body.email, убедитесь, что эта строка верна!   -  person bharadhwaj    schedule 02.12.2016
comment
from: from: req.body.email, измените эту строку на- from: req.body.email   -  person AJS    schedule 02.12.2016
comment
@ user29 просто печатает консоль в условии if   -  person kittu    schedule 02.12.2016
comment
Распечатать сообщение об ошибке, используя console.log(error);   -  person Bhavana    schedule 02.12.2016
comment
log error console.log(error) вместо собственного сообщения об ошибке console.log('ошибка отправки почты');   -  person AJS    schedule 02.12.2016
comment
мой плохой, я не напечатал ошибку должным образом. Теперь печатает error sending mail: [Error: Unsupported configuration, downgrade Nodemailer to v0.7.1 to use it]   -  person kittu    schedule 02.12.2016
comment
взгляните на эту ссылку github.com/nodemailer/nodemailer#use-the -default-smtp-transport для создания транспорта   -  person AJS    schedule 02.12.2016
comment
Вы можете сослаться на эту ссылку [Ошибка Node Mailer: «Неподдерживаемая конфигурация, понизьте версию Nodemailer до версии 0.7.1, чтобы использовать ее» на локальном хосте] [1] [1]: stackoverflow.com/questions/34652481/   -  person Arpit Kumar    schedule 02.12.2016
comment
Я понизил версию до 7.1 и теперь печатаю error sending mail: { [Error: 101057795:error:140770FC:SSL routines:SSL23_GET_S ERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794: ] stage: 'init' }   -  person kittu    schedule 02.12.2016


Ответы (2)


Удалите лишние from: из mailOpts.

person Bhavana    schedule 02.12.2016

Выполните следующие 3 шага:

  1. Войдите в свою учетную запись Gmail.

  2. Перейдите по этой ссылке разрешить Gmail отправлять почту через менее безопасное приложение.

  3. Выберите вариант вкл.

Меня устраивает. Я надеюсь, что это поможет вам.

person Arpit Kumar    schedule 02.12.2016
comment
это просто печать консоли в условии if - person kittu; 02.12.2016