Неверный логин: GMail / OAuth2 / Nodemailer - PullRequest
0 голосов
/ 14 марта 2019

Теперь я получаю следующие ошибки в файле app.js, который работал и теперь не работает при попытке отправить электронное письмо из контактной формы на странице моего портфолио. Я использую dotenv, чтобы скрыть свои ключи, если это помогает, и уже ссылался на https://nodemailer.com/smtp/oauth2/. Любая помощь будет принята с благодарностью!

   require('dotenv').config();

    let nodemailer = require('nodemailer'),
        smtpTransport = require('nodemailer-smtp-transport'),
        middlewareObj = {};

    middlewareObj.sendMail = function(req, res, next) {
        let mailOpts, transporter;
        transporter = nodemailer.createTransport(smtpTransport({
            host: 'smtp.gmail.com',
            port: 465,
            secure: true,
            auth: {
                type: 'OAuth2',
                user: process.env.USER,
                clientID: process.env.CLIENTID,
                clientSecret: process.env.CLIENTSECRET,
                refreshToken: process.env.REFRESHTOKEN,
            }
        }));
        mailOpts = {
            from: req.body.email,
            to: process.env.USER,
            subject: "New Message From My Portfolio Site",
            text: `${req.body.name} says: ${req.body.message} \n (${req.body.email})`
        };
        transporter.sendMail(mailOpts, function(error, response) {
            if (error) {
                console.log(error);
                req.flash("error", "Something went wrong. Please try again.");
                res.redirect("/#contact");
            }
            else {
                req.flash("success", "Message Sent!");
                res.redirect("/#contact");
            }
        });
    }

    module.exports = middlewareObj;
...