You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nicolas Garnier 1f97cfa35d Small update to the email-confirmation Functions sample 8 years ago
..
functions Added email-confirmation sample Firebase Functions sample. 8 years ago
public Small update to the email-confirmation Functions sample 8 years ago
README.md Small update to the email-confirmation Functions sample 8 years ago
database.rules.json Added email-confirmation sample Firebase Functions sample. 8 years ago
firebase.json Cleaned up the email-confirmation sample. 8 years ago
main.css Added email-confirmation sample Firebase Functions sample. 8 years ago

README.md

Send Confirmation Emails with Firebase Cloud Functions

This template shows how to send a confirmation emails to users who are subscribing/un-subscribing to a newsletter.

Functions Code

See file index.js for the email sending code.

Sending emails is performed using nodemailer a node based Email client with comprehensive EMail server setup. In this sample we're showing how to send email through SMTP using a Gmail account.

The dependencies are listed in package.json.

Sample Database Structure

When a signed-in user subscribes or unsubscribes to the mailing list we change the subscribedToMailingList boolean:

/functions-project-12345
    /users
        /$uid
            subscribedToMailingList: true,
            email: "user@domain.com"

Then the email stored here is used by the function to send the email.

Trigger rules

The function triggers on changes to /users/$uid and exits if there are no changes to subscribedToMailingList.

Deploy and test

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

  • Create a Firebase Project using the Firebase Developer Console
  • Enable Google Provider in the Auth section
  • Import and configure Firebase in the public/index.html where the TODO is located
  • Setup your email transport in the functions/index.html where the TODO is located
  • Deploy your project using firebase deploy
  • Open the app, Sign in using Google Sign-In and subscribe/unsubscribe to the newsletter and you should receive email confirmations