comailer

0.1.0 • Public • Published

Comailer

A simple CO wrapper around Nodemailer

yield Nodemailer from co or koa!

CoffeeScript (is optional, see javascript below)

    'use strict'
    co = require 'co'
 
    comailer = require 'comailer'
    transporter = comailer.createTransport
      service: 'gmail'
      auth:
        user: 'sender@gmail.com'
        pass: 'password'
 
    co ->
      # yielding can throw errors you could try/catch or bail out 
      try
 
        result = yield transporter.sendMail
          from: 'sender@address'
          to: 'receiver@address'
          subject: 'hello'
          text: 'hello world!'
 
        console.log result
      catch error
        console.error error.stack
 
    # if you need to still need to call without yielding: 
    thunkOfSendMail = transporter.sendMail
      from: 'sender@address'
      to: 'receiver@address'
      subject: 'hello'
      text: 'hello world!'
    #... 
    thunkOfSendMail (error, result) ->
      if error
        console.error error.stack
      else
        console.log result

Javascript

    'use strict'
    var co = require('co');
 
    var comailer = require('comailer');
    var transporter = comailer.createTransport({
      service: 'gmail',
      auth: {
        user: 'sender@gmail.com',
        pass: 'password'
      }
    });
 
    co(function* () {
      // yielding can throw errors you could try/catch or bail out
      try {
 
        var result = yield transporter.sendMail({
          from: 'sender@address',
          to: 'receiver@address',
          subject: 'hello',
          text: 'hello world!'
        });
 
        console.log(result);
      } catch (error) {
        console.error(error.stack);
      }
    });
 
    // if you need to still need to call without yielding using the returned thunk directly:
    thunkOfSendMail = transporter.sendMail({
      from: 'sender@address',
      to: 'receiver@address',
      subject: 'hello',
      text: 'hello world!'
    });
    //...
    thunkOfSendMail(function (error, result) {
      if (error) {
        console.error(error.stack);
      } else {
        console.log(result);
      }
    });

Package Sidebar

Install

npm i comailer

Weekly Downloads

3

Version

0.1.0

License

Unlicense

Last publish

Collaborators

  • javascriptismagic