Я использую облачные функции Firebase для отправки приветственного письма пользователям, когда они создают новые учетные записи в приложении.Мне нужно отправлять это приветственное письмо, только если пользователь создает свою электронную почту с использованием аутентификации emailAndPassword, поэтому мне нужно знать поставщика аутентификации пользователя.Теперь это мой код:
const gmailEmail = functions.config().gmail.email;
const gmailPassword = functions.config().gmail.password;
const mailTransport = nodemailer.createTransport({
service: 'gmail',
auth: {
user: gmailEmail,
pass: gmailPassword,
},
});
// Your company name to include in the emails
// TODO: Change this to your app or company name to customize the email sent.
const APP_NAME = 'العب .. تعلم';
// [START sendWelcomeEmail]
/**
* Sends a welcome email to new user.
*/
// [START onCreateTrigger]
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
// [END onCreateTrigger]
// [START eventAttributes]
const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.
// [END eventAttributes]
return sendWelcomeEmail(email, displayName);
});
// [END sendWelcomeEmail]
// [START sendByeEmail]
/**
* Send an account deleted email confirmation to users who delete their accounts.
*/
/* TODO :remove this comment to add goodbye email
// [START onDeleteTrigger]
exports.sendByeEmail = functions.auth.user().onDelete((user) => {
// [END onDeleteTrigger]
const email = user.email;
const displayName = user.displayName;
return sendGoodbyeEmail(email, displayName);
});
// [END sendByeEmail]
*/
// Sends a welcome email to the given user.
function sendWelcomeEmail(email, displayName) {
const mailOptions = {
from: `${APP_NAME} <noreply@firebase.com>`,
to: email,
};
// The user subscribed to the newsletter.
mailOptions.subject = `welcome in our app! `;
const startText = `Welcome in our app! We hope you enjoy it. To know the latest news about the app and the latest competitions please join the following facebook page : `;
const groupLink = `https://www.facebook.com/2057244580979539/`;
mailOptions.text = startText + `\n\n` + groupLink;//TODO : add new line instead of space
return mailTransport.sendMail(mailOptions).then(() => {
return console.log('New welcome email sent to:', email);
});
}
Этот код будет отправлять приветственное письмо любому пользователю, который создает электронную почту в приложении. Мне нужно отправлять пользователю электронное письмо только в том случае, если он создает новое электронное письмо в приложении с помощью emailAndPasswordProvider.