Introduction
We'll deploy Auth triggered Functions that send a welcome email when a new user signs up and a goodbye email when user accounts are deleted.
Further reading: Firebase SDK for Cloud Functions
This quickstart demonstrates how to setup an Auth triggered Cloud Function using the Firebase SDK for Cloud Functions.
We'll deploy Auth triggered Functions that send a welcome email when a new user signs up and a goodbye email when user accounts are deleted.
Further reading: Firebase SDK for Cloud Functions
See file functions/index.js for the Functions trigger and the email sending code.
Sending emails is performed using nodemailer a node based Email client with comprehensive EMail server setup. For simplicity, in this sample we're showing how to send email through SMTP using a Gmail account. Be aware that Gmail has an email sending quota. If you are planning on sending a large number of emails you should use a professional email sending platform such as Sendgrid, Mailjet or Mailgun.
If switching to Sendgrid, Mailjet or Mailgun make sure you enable billing on your Firebase project as this is required to send requests to non-Google services.
The dependencies are listed in functions/package.json.
This sample comes with a simple web-based UI which code is in public directory that lets you easily sign-in Firebase and delete your account for purposes of testing the Functions.
quickstarts/email-users
directory.npm install -g firebase-tools
and then configure it with firebase login
.firebase use --add
and select your project in the list.cd functions; npm install; cd -
Set the gmail.email
and gmail.password
Google Cloud environment variables to match the email and password of the Gmail account used to send emails (or the app password if your account has 2-step verification enabled). For this use:
firebase functions:config:set gmail.email="myusername@gmail.com" gmail.password="secretpassword"
This sample comes with a web-based UI for testing the function. To test it out:
firebase deploy
firebase open hosting:site
, this will open a browser.We'd love that you contribute to the project. Before doing so please read our Contributor guide.
© Google, 2016. Licensed under an Apache-2 license.