nodemailer/nodemailer-amqp-example

Name: nodemailer-amqp-example

Owner: nodemailer

Description: An example of using Nodemailer with RabbitMQ

Created: 2017-02-09 16:23:27.0

Updated: 2018-05-22 22:15:35.0

Pushed: 2017-02-09 21:39:41.0

Homepage: null

Size: 5

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Nodemailer AMQP example

This is an example of using RabbitMQ (amqplib) for queueing Nodemailer email messages. This allows you to push messages from your application quickly to delivery queue and let Nodemailer handle the actual sending asynchronously from a background process.

This example also demonstrates using different credentials for different messages using the same Nodemailer transport.

Setup

Download files from Github

t clone git://github.com/nodemailer/nodemailer-amqp-example.git
 nodemailer-amqp-example

Install required dependencies

m install --production

Make sure that you have a RabbitMQ server running (default config assumes RabbitMQ running on localhost with default credentials) and also check the configuration options in config.json.

Running

The example contains 3 different parts:

  1. Example SMTP server (server.js). This is where Nodemailer sends the messages to. The server prints message source to console and does not actually deliver anything
  2. Subscriber process (subscriber.js). This is the worker process that fetches queued messages from RabbitMQ and delivers these using Nodemailer. You can spawn up as many subscriber processes as you want, even though a single one should be fine in most cases.
  3. Publisher process (publisher.js). This is an example application process that pushes message data to RabbitMQ for delivery. Normally it would be the job of your application.

Run all processes in different windows, using the following execution order:

m run server
m run subscribe
m run publish
Example


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.