ZhuNian / gmail-send

Minimalistic module to send email using GMail

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm version Build Status Coverage Status Code Climate Inch CI

Dependency Status devDependency Status

gmail-send

Minimalistic module to send emails using GMail

Basically it's a wrapper around nodemailer package to simplify its usage for GMail accounts even more.

If you have different needs regarding the functionality, please add a feature request.

Install

npm install --save gmail-send

Usage

Preparational step (this step is required only if you are using two-step verrification)

Configure application-specific passwords for your GMail account (if you are not using two-step verification, just skip this step and use same password you are using to login to GMail)

To be able send emails using GMail from any application (including Node.js) you need to generate application-specific password to access GMail: My Account -> Sign-in & security -> Signing in to Google -> App passwords

Select 'Other (Custom name)' in 'Select app'/'Select device' drop-downs, enter descriptive name for your application and device and press 'GENERATE'. Copy provided password.

Code example

Example 1

console.log('* [example1] sending test email');

// Require the module and set default options
// You may use almost any option available in nodemailer, 
// but if you need fine tuning I'd recommend to consider using nodemailer directly.
var send = require('gmail-send')({
  user: 'user@gmail.com',               // Your GMail account used to send emails
  pass: 'abcdefghijklmnop',             // Application-specific password
  to:   'user@gmail.com',               // Send back to yourself; 
                                        // you also may set array of recipients: 
                                        // [ 'user1@gmail.com', 'user2@gmail.com' ]
  // from:   '"User" <user@gmail.com>'  // from: by default equals to user
  // replyTo:'user@gmail.com'           // replyTo: by default undefined
  subject: 'test subject',
  text:    'test text'
  // html:    '<b>html text text</b>'
});

var file = './demo-attachment.txt';        // File to attach

// Override any default option and send email
send({                         
  subject: 'attached '+file,   // Override value set as default 
  files: [file]                // String or array of strings of filenames to attach
}, function (err, res) {
  console.log('* [example1] send(): err:', err, '; res:', res);
});

Example 2

You may also set all needed parameters at once and immediately send:

console.log('* [example2] sending test email');

var send = require('gmail-send')({
  user: credentials.user,           // Your GMail account used to send emails
  pass: credentials.pass,           // Application-specific password
  to:   credentials.user,           // Send to yourself
                                    // you also may set array of recipients: 
                                    // [ 'user1@gmail.com', 'user2@gmail.com' ]
  subject: 'ping',
  text:    'gmail-send example 2'   // Plain text
})();                               // Send without any check

You can find this working examples in ./demo/demo.js (you'll need to set your GMail user/pass in credential.json.example and rename it to credential.json in order to run the example). When credentials are set, run the application using node demo/demo.js or node demo.js depending on your current directory.

Credits

Alexander

Links to package pages:

github.com   npmjs.com   travis-ci.org   coveralls.io   inch-ci.org

License

MIT

About

Minimalistic module to send email using GMail

License:MIT License


Languages

Language:JavaScript 100.0%