dpd-email

Module for Deployd that allows you to send an email to your users

Email Resource

Module for Deployd that allows you to send an email to your users.

This is built on Andris Reinmans Nodemailer module.

$ npm install dpd-email

See Installing Modules for details.

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

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.

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

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.

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 (sender@server.com) or formatted (Sender Name <sender@server.com>)
    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 : "",
 
    // The HTML version of the message;
    html : "",
}
// 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 ) {
    // ...
});

This package no longer provides template feature. You can use

  • [https://www.npmjs.org/package/handlebars]
  • [https://www.npmjs.org/package/ejs]
  • [https://www.npmjs.org/package/lotemplate]

for render html or text before calling dpd.email.post()