Используя облачные функции Sendgrid, Node.js и Firebase, я смог отправлять электронные письма через http.В течение последних нескольких дней мои электронные письма больше не приходили.Я не особо изменил свой код, поэтому понятия не имею, что заставляет не отправлять электронные письма.Я проверил свои журналы функций FireBase, но я получил 200 или 204 кода состояния.Когда я проверяю sendgrid, он показывает, что делаются запросы и отправляются электронные письма.
и да, я проверил папку со спамом.
Может кто-нибудь помочь, пожалуйста?
Вот мойфункция:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
const cors = require("cors")({ origin: true });
const SENDGRID_API_KEY =
"SENDGRID-APIKEY";
const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(SENDGRID_API_KEY);
exports.httpManagerEmail = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const toEmail = req.body.toEmail;
const managerName = req.body.managerName;
const managerEmail = req.body.managerEmail;
const managerUUID = req.body.managerUUID;
const msg = {
to: toEmail,
from: {
email: "support@BLAH.com",
name: "BLAH"
},
text: '',
html: '',
templateId: "d-111111111",
substitutionWrappers: ["{{", "}}"],
substitutions: {
managerName: managerName,
managerEmail: managerEmail,
managerUUID: managerUUID
}
};
return sgMail
.send(msg)
.then(() => res.status(200).send({ message: "email sent!" }))
.catch(err => res.status(400).send(err));
});
});
Вот мой component.ts
endpoint = "MY_ENDPOINT"
sendEmail() {
const managerData = {
toEmail: this.manager.managerEmail,
managerName: this.manager.managerFirstName,
managerEmail: this.manager.managerEmail,
managerUUID: this.manager.managerUUID
}
this.httpClient.post(this.endpoint, managerData).subscribe(data => console.log('email sent: ', data));
}
Спасибо, что нашли время, чтобы попытаться помочь!