Здравствуйте. Я пытаюсь отправить электронное письмо из функции углового облака, используя SendGrid.
Следуя этому примеру: https://angularfirebase.com/lessons/sendgrid-v3-nodejs-transactional-email-cloud-function/
Я написал следующую функцию
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const cors = require('cors')({ origin: true });
const SENDGRID_API_KEY="*******************************";
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);
exports.httpEmail = functions.https.onRequest((req, res) => {
cors( req, res, () => {
const toName = req.body.toName;
const toEmail = req.body.toEmail;
const msg = {
to: toEmail,
from: 'glkjrzklegklre@gmail.com',
subject: 'New Message',
text: `You have a new message`,
html: `You have a new message`,
};
return sgMail.send(msg)
.then(() => res.status(200).send('email sent!') )
.catch(err => res.status(400).send(err) )
});});
И я просто вызываю его из компонента:
sendEmail() {
const data = {
toEmail: 'cbanzet@gmail.com',
toName: 'Jeff Delaney'
}
this.http.post(this.endpoint, data).subscribe()}
Даже несмотря на то, что написано "Email Sent!" в консоли у меня появляется следующая ошибка:
ошибка: SyntaxError: неожиданный токен e в JSON в позиции 0 в JSON.parse
Я не знаю, что с этим делать, и я действительно хотел бы, чтобы это работало.