Отправка электронной почты с помощью nodemailer не работает - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть эта облачная функция sendMail, я пытаюсь отправить простое электронное письмо. Я не уверен, в чем заключается ошибка, которую я делаю, но я продолжаю получать ошибку 400 Bad request на почтальоне всякий раз, когда я нажимаю на эту функцию. PS Я также добавляю правильные учетные данные своей учетной записи gmail

Вот моя облачная функция

const functions = require ('firebase-functions');

const cors = require('cors')({origin: true});
const admin = require("firebase-admin");
const bodyParser = require("body-parser");
const nodemailer = require("nodemailer");
var smtpTransport = require('nodemailer-smtp-transport');

let transporter = nodemailer.createTransport(smtpTransport({
    service: 'Gmail',
    auth: {
        user: 'abc@gmail.com',
        pass: '12345'
    }
}));


//Send email
exports.sendMail = functions.https.onRequest((request, responde) => {
    // cors(req, res, () => {    
        // getting dest email by query string
    res.set('Access-Control-Allow-Origin', '*');
    res.set('Access-Control-Allow-Methods', 'GET', 'POST');
    res.set('Access-Control-Allow-Headers', 'Content-Type');
    if(req.method === 'OPTIONS') {
        res.end();
    }
    else
    {
        if(req.body.dest != null || req.body.dest != undefined) {
            const dest = req.query.dest;

            const mailOptions = {
                from: 'Ehsan Nisar <ABC@gmail.com>',
                to: dest,
                subject: 'I\'M A PICKLE!!!', // email subject
                html: `<p style="font-size: 16px;">Pickle Riiiiiiiiiiiiiiiick!!</p>
                    <br />
                    <img src="https://images.prod.meredith.com/product/fc8754735c8a9b4aebb786278e7265a5/1538025388228/l/rick-and-morty-pickle-rick-sticker" />
                ` // email content in HTML
            };

            // returning result
            return transporter.sendMail(mailOptions, (erro, info) => {
                if(erro){
                    return res.send(erro);
                }
                return res.send('Sended');
            });
        }
        else {
            res.send(400, {
                "message": "All fields are required"
            })
        }
    // });  
    }  
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...