catch-all

A simple smtp catch all

npm install catch-all
3 downloads in the last month

build status

catch-all

A simple smtp-catch-all for your tests (node.js).

install

$ npm install catch-all

Usage

Simple usage:

var smtpCatchAll = require('..');
var server = smtpCatchAll.createServer();
server.on('newEmail', function (email) {
    console.log(email);
});
server.listen(4040);

Accessing the envelope:

var smtpCatchAll = require('..');
var server = smtpCatchAll.createServer();
server.on('newEmail', function (email, envelope) {
    console.log(envelope);
});
server.listen(4040);

catch-all is based on simplesmtp. You can pass same options to createServer

The returned server is also an instance of simplesmtp. You can listen to the same events
In the same way.

Email format

Email is just a simple json email like:

{ text: 'cuentame lo k ase',
headers: 
 [ { name: 'x-mailer',
     value: 'Nodemailer (0.5.3; +http://www.nodemailer.com/)' },
   { name: 'date', value: 'Tue, 12 Nov 2013 19:48:53 GMT' },
   { name: 'message-id',
     value: '<1384285733880.5b4d56c9@Nodemailer>' },
   { name: 'from', value: 'me@gmail.com' },
   { name: 'to', value: 'you@gmail.com' },
   { name: 'subject', value: 'ola k ase' },
   { name: 'content-type', value: 'text/plain; charset=utf-8' },
   { name: 'content-transfer-encoding', value: 'quoted-printable' },
   { name: 'mime-version', value: '1.0' } ],
subject: 'ola k ase',
messageId: '1384285733880.5b4d56c9@Nodemailer',
priority: 'normal',
from: [ { address: 'me@gmail.com', name: '' } ],
to: [ { address: 'you@gmail.com', name: '' } ],
date: Tue Nov 12 2013 20:48:53 GMT+0100 (CET) }
npm loves you