Giter Club home page Giter Club logo

dpd-email's Introduction

Email Resource

This custom resource type allows you to send an email to your users.

The email resource is built on Andris Reinmans Nodemailer module and Nick Baughs node-email-templates.

Installation

$ npm install dpd-email

See Installing Modules for details.

Configuration

Before using the email resource, you must go to its Dashboard page and configure it.

Required settings:

host
The hostname of your SMTP provider.

port
The port number of your SMTP provider. Defaults to 25; 587 is also common.

ssl
If checked, use SSL to communicate with your SMTP provider.

username
The SMTP username for your app.

password
The SMTP username for your app.

Optional settings:

defaultFromAddress
A "from" email address to provide by default. If this is not provided, you will need to provide this address in every request.

defaultTemplate A default HTML template for your mails. If not provided no HTML template will be used and the mail is plain text instead.

internalOnly
If checked, only allow internal requests (such as those from events) to send emails. Recommended for security.

productionOnly
If checked, attempting to send an email in the development environment will simply print it to the Deployd console.

Usage

To send an email, call dpd.email.post(options, callback) (replacing email with your resource name). The options argument is an object:

{
	
	// The email address of the sender. Required if defaultFromAddress is not configured.
	// Can be plain ([email protected]) or formatted (Sender Name <[email protected]>)
	from : "",
	
	// Comma separated list of recipients e-mail addresses that will appear on the To: field
	to : "",
	
	// Comma separated list of recipients e-mail addresses that will appear on the Cc: field
	cc : "",
	
	// Comma separated list of recipients e-mail addresses that will appear on the Bcc: field
	bcc : "",
	
	// The subject of the e-mail.
	subject : "",
	
	// The plaintext version of the message (can also be generated via templating)
	text : "",
	
	// Template name for the HTML version of the message;
	// Defaults to defaultTemplate; If both were left blank just text is send
	template : "",
	
	// Template locals / placeholders / variables (whatever you wanna call it)
	locals : {} 
}

Example Usage

// On POST /users

dpd.email.post({
  to      : this.email,
  subject : 'MyApp registration',
  text    : [
  	this.username,
  	'',
  	'Thank you for registering for MyApp!'
  ].join('\n')
}, function ( err, results ) {
	// ...
});

Templating

Just add a template property with a matching name to your options object and locals for variables you use inside your templates. Also make sure you place your templates inside resources/email/templates.

For more information about the possiblilites, which go along with using the templating engine, check out the quick start provided by node-email-templates.

dpd-email's People

Contributors

ritch avatar dallonf avatar j0ergo avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.