У меня есть приложение Angular 6 с облачной функцией Firebase, предназначенное для отправки электронной почты через API SendGrid.В настоящее время я могу сделать вызов функции и отправить электронное письмо;однако есть встроенные свойства, такие как {{name}}
и {{message}}
, которые должны быть заменяемыми.Согласно сайту SendGrid , а также другим ресурсам , это должно быть относительно просто.Даже после того, как в моей облачной функции было занято несколько консольных журналов со значением request.query.name
и получен правильный результат, значение msg
не будет совпадать.
Вот что у меня есть.
Облачная функция:
import * as functions from 'firebase-functions';
import * as sgMail from '@sendgrid/mail';
export const sendContactMail = functions.https.onRequest((request, response) => {
const SENDGRID_API_KEY = functions.config().sendgrid.key;
sgMail.setApiKey(SENDGRID_API_KEY);
sgMail.setSubstitutionWrappers('{{','}}');
const msg = {
to: 'some@email.com',
from: 'some.other@email.com',
templateId: 'thisisfrommyaccount',
substitutions: {
name: request.query.name,
email: request.query.email,
message: request.query.message
}
};
return sgMail.send(msg).then((res) => {
console.log('email sent');
}).catch(err => {
console.log(err.stack);
});
});