Я пытаюсь создать приложение activJS и хотел бы, чтобы люди заполнили форму, чтобы отправить несколько писем.
для этого я сначала создал функцию sendGrid, но мне не очень понравилась задержка и шаблоны электронной почты (и тот факт, что это более 100 писем в день.
, затем я прочиталчто я мог бы использовать Nodemailer + (или без) Express + FireBase и Google Cloud. Я написал эту функцию:
exports.mailSun = functions.https.onRequest((req, res) => {
const { name, dest } = req.query;
var transporter = nodemailer.createTransport({
service: 'Gmail',
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: 'xxx@gmail.com',
pass: 'xxx'
}
});
const mailOptions = {
from: 'hello@sunny.com', // sender address
to: 'pedrospecter@gmail.com', // list of receivers
subject: 'Elavtal', // Subject line
html: '<p>Grattis för ditt nya avtal. Elbolag kommer att kontakta dig inom kort.</p>'// plain text body
};
return transporter.sendMail(mailOptions, function (err, info) {
if(err)
console.log(err)
else
console.log(info);
});
});
затем я попытался
exports.sendMail= functions.https.onRequest((req, res) => {
cors(req, res, () => {
// getting dest email by query string
const { name, dest } = req.query;
var transporter = nodemailer.createTransport({
service: 'Gmail',
host: "smtp.gmail.com",
port: 465,
secure: true,
auth: {
user: 'xxx@gmail.com',
pass: 'xxx'
}
});
const mailOptions = {
from: 'Sunny <xxxb@gmail.com>', // Something like: Jane Doe <janedoe@gmail.com>
to: 'xxx@mail.com',
subject: 'nytt Avtal', // email subject
text: `<p Ni har fått ett nytt avtal. Logga in på Sunny för att se kunddetaljer.</p> ` // email content in HTML
};
// returning result
return transporter.sendMail(mailOptions, (erro, info) => {
if(erro){
return res.send(erro.toString());
}
return res.send('Sent');
});
});
});
Может кто-нибудь помочь мне с чемне так?