Я пытаюсь отправлять электронные письма своим клиентам с помощью облачных функций Firebase и Sendgrid. Когда я отправляю запрос своей функции в моем приложении Angular, я получаю следующую ошибку: ![Error message in my console](https://i.stack.imgur.com/hnSy5.png)
Я уже пытался с прокси-конфи в моем проекте Angular, и это не работает.
Это моя базовая функция:
import * as functions from "firebase-functions";
import * as sendgrid from "sendgrid";
import * as corsModule from "cors";
exports.httpEmail = functions.https.onRequest((req, res) => {
cors(req, res, () =>
Promise.resolve()
.then(() => {
if (req.method !== "POST") {
throw new Error("Only POST requests are accepted");
}
const request = client.emptyRequest({
method: "POST",
path: "v3/mail/send",
body: parseBody(req.body)
});
return client.API(request);
})
.then(response => {
if (response.body) {
res.send(response.body);
} else {
res.end();
}
})
.catch(err => {
console.error(err);
throw new Error(err);
})
);
});
И вот как я ее называю:
import { HttpClient, HttpHeaders, HttpParams } from "@angular/common/http";
sendEmail(emailAddress, content) {
const url = functionURL;
const params: HttpParams = new HttpParams();
const headers = new HttpHeaders({
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*"
});
params.set("to", emailAddress);
params.set("from", "myEmail@gmail.com");
params.set("content", content);
return this.http
.post(url, params, { headers: headers })
.toPromise()
.then(res => (this.emailSend = true))
.catch(err => console.error(err));
}
Буду признателен за вашу помощь.