Я пытался отправить электронное письмо с помощью облачной функции Firebase из отправленных данных, а он вообще не отправлял.
Мой код функции
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const nodemailer = require('nodemailer');
const cors = require('cors')({
origin: '*'
})
admin.initializeApp();
/**
* Here we're using Gmail to send
*/
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'youremail@gmail.com',
pass: 'password'
}
});
exports.sendEmail = functions.https.onCall((contact, context) => {
cors(req, res, () => {
const dest = req.body.dest
console.log(dest)
const mailOptions = {
from: `Contact AET ${contact.email}`,
to: dest,
subject: "AET Website Message ????", // Subject line
html: `
<div
style="padding: 10px; font-family:Gadaj; border: 2px solid #eee; border-radius: 10px ">
<p style="font-size: 15px">You have a new message request</p>
<h2>Contact Details</h2>
<ul style="list-style-type: none">
<li>Name: ${contact.name}</li>
<li>Email: ${contact.email}</li>
</ul>
<h2>Message</h2>
<p style="font-size: 16px;">${contact.message}</p>
<img src="https://images.prod.meredith.com/product/fc8754735c8a9b4aebb786278e7265a5/1538025388228/l/rick-and-morty-pickle-rick-sticker" />
</div>
`
};
return transporter.sendMail(mailOptions, (err, info) => {
if (err) {
return console.log(err)
}
return console.log(`Message sent to ${info.messageId}`)
})
})
})
, а затем я подключился Это в моем FrontEnd. Вот так
sendMessage() {
if (this.$refs.formEmail.validate()) {
this.loading = true;
const createMessage = {
name: this.name,
email: this.email,
message: this.message
};
const sendEmail = functions.httpsCallable("sendEmail");
sendEmail(createMessage)
.then(res => {
// eslint-disable-next-line no-console
console.log(res.data);
})
.catch(err => {
// eslint-disable-next-line no-console
console.log(err);
});
}
}
Я получаю это обратно как полный Это
Error: Error: INTERNAL
at new HttpsErrorImpl (index.cjs.js?001a:58)
at _errorForResponse (index.cjs.js?001a:153)
at Service.eval (index.cjs.js?001a:538)
at step (tslib.es6.js?9ab4:99)
at Object.eval [as next] (tslib.es6.js?9ab4:80)
at fulfilled (tslib.es6.js?9ab4:70)
Пожалуйста, как мне это исправить, или, пожалуйста, предоставьте любое возможное решение как можно быстрее. насколько это возможно. Заранее спасибо