Я использую функцию firebase для отправки электронных писем пользователям, использующим mailgun. У меня есть массив писем, которые я извлекаю из функции https и делаю forEach в этом массиве писем и вызываю функцию mailgun, которую я создал в другом файле. Но когда есть небольшое количество писем, он отправляет электронные письма успешно, но когда есть 100 писем, он не отправляет электронную почту.
Вот мой код, пожалуйста, посмотрите
index.js
// firebase https function which i'm calling from my app
exports.SendMsgEmail = functions.https.onCall((data, context) => {
console.log("****************send msg email to parent*********");
let msg = data.msg;
let companyName = data.companyName;
let companyImage = data.companyImage;
let emailArray = data.emails;
console.log('total emails',emailArray.length);
console.log('message=====>',msg);
emailArray.forEach(async(value) => {
if (value) {
console.log('sending msg email to parent',value)
let emailData = {
recipient: value,
companyImage: companyImage ? companyImage : "",
companyName: companyName,
message: msg,
msgDate: moment(new Date()).format('MMMM Do YYYY, h:mm:ss a'),
};
emailUtils.sendParentMsgEmail(emailData)
}
});
return {message:'sucess'}
})
emailUtils.js
// mailgun function which i call in index.js https function
exports.sendParentMsgEmail = async function(data) {
let template = await loadTemplate(parentMsgToAll);
let embeddedLogo = await loadLogo();
template = template.replace(/{{company_image}}/g, data.companyImage);
template = template.replace(/{{company_name}}/g, data.companyName);
template = template.replace(/{{message}}/g, data.message);
template = template.replace(/{{msg_date}}/g, data.msgDate);
mailer.sendMail({
from: 'abc <support@abc.com>',
to: data.recipient,
subject: "You have unread messages from abc",
html: template,
attachments: [{
cid: 'logo.png',
content: embeddedLogo,
encoding: 'base64'
}],
}, (err, info) => {
if (err) {
console.log(`Error: ${err}`);
}
else {
console.log("Mailgun Response: " + JSON.stringify(info,null,4));
}
});
};
Я не вижу этого Ответ Mailgun в Журнал функции firebase, когда есть 100 писем, но когда их мало, он работает нормально, и я вижу Ответ Mailgun в журнале функций firebase.
Пожалуйста, если кто-нибудь решит эту проблему .