Skip to content

Latest commit

 

History

History
 
 

email-users

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Firebase SDK for Cloud Functions Quickstart - Auth triggers

This quickstart demonstrates how to setup an Auth triggered Cloud Function using the Firebase SDK for Cloud Functions.

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

Functions Code

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.

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.

Setting up the sample

  1. Create a Firebase Project using the Firebase Console.

  2. Enable the Google Provider in the Auth section.

  3. Clone or download this repo and open the quickstarts/email-users directory.

  4. Paste the Web initialization snippet from: Firebase Console > Overview > Add Firebase to your web app in the public/index.html where the TODO is located.

  5. You must have the Firebase CLI installed. If you don't have it install it with npm install -g firebase-tools and then configure it with firebase login.

  6. Configure the CLI locally by using firebase use --add and select your project in the list.

  7. Install dependencies locally by running: cd functions; npm install; cd -

  8. 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. For this use:

    firebase functions:config:set gmail.email="myusername@gmail.com" gmail.password="secretpassword"

Deploy and test

This sample comes with a web-based UI for testing the function. To test it out:

  1. Deploy your project using firebase deploy
  2. Open the app using firebase open hosting:site, this will open a browser.
  3. Sign in the web app in the browser using Google Sign-In and delete your account using the button on the web app. You should receive email confirmations for each actions.

Contributing

We'd love that you contribute to the project. Before doing so please read our Contributor guide.

License

© Google, 2016. Licensed under an Apache-2 license.