0.1.0 • Published 9 years ago

comailer v0.1.0

Weekly downloads
11
License
Unlicense
Repository
-
Last release
9 years ago

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);
      }
    });