Я хочу отправить письмо, как только пользователь будет создан с использованием облачных функций Firebase, используя nodemail и postmark.
Я следовал этому уроку: Ссылка на учебник от Дэйва Мартина
Но продолжайте получать эту ошибку:
Произошла ошибка при отправке приветственного письма: { status: 422, message: 'Указано ноль получателей', код: 300}
Вот мой код для отправки почты из облачных функций:
//Mail
const nodemailer = require('nodemailer')
const postmarkTransport = require('nodemailer-postmark-transport')
// Google Cloud environment variable used:
// firebase functions:config:set postmark.key="API-KEY-HERE"
const postmarkKey = functions.config().postmark.key
const mailTransport = nodemailer.createTransport(postmarkTransport({
auth: {
apiKey: postmarkKey
}
}))
exports.OnUserCreation = functions.auth.user().onCreate((user) =>
{
console.log("user created: " + user.data.uid);
console.log("user email: " + user.data.email);
sendEmail(user);
})
function sendEmail(user)
{
// Send welcome email to new users
const mailOptions =
{
from: '"test" <test@test.com>',
to: user.email,
subject: 'Welcome!',
html: 'hello'
}
// Process the sending of this email via nodemailer
return mailTransport.sendMail(mailOptions)
.then(() => console.log('Welcome confirmation email sent'))
.catch((error) => console.error('There was an error while sending the welcome email:', error))
}
Мой postmark.key уже настроен в конфигурации Firebase ... API сообщает мне, что проблема заключается в формате, который я использую для отправки информации по почте. Как я могу это исправить?
Обновление
Я также пытался изменить mailOptions, как указано ниже, и по-прежнему та же ошибка:
const mailOptions = {
from: 'test@test.com',
to: user.email,
subject: 'Welcome!',
textBody: 'hello'
}