crazymail
v0.6.0
Published
A crazy simple SMTP server designed for autmated testing of web applications
Downloads
52
Maintainers
Readme
Crazymail
is a simple SMTP mail server designed to aide automated testing of web applications. It receives email all incoming mail on port 25 and makes it available to a client over HTTP.
Example
Server setup
# On publicly facing server example.com
npm install -g crazymail
# sudo is needed to listen on port 25
sudo crazymail server --host example.com
Your test
var Crazymail = require('crazymail')
// Assuming there is a Crazymail server at 'example.com'
var Crazyclient = new Crazymail.Client( {
host: 'example.com'
})
var person = Crazyclient.random.person()
// person will be look something like this:
{
firstName: 'Hans',
lastName: 'Flounder',
name: 'Hans Flounder',
address: '[email protected]',
host: 'example.com'
}
// Now perform your automated tests.
// You can use the random funny names to fill out your forms.
your_automated_test( person )
// Receive email sent to `person`
// You need not worry about the timing of this call.
// The server will cache the message for a reasonable
// amount of time and keep the connection open
// if it hasn't arrived yet.
Crazyclient.receive( person )
.then( function ( message ) {
console.log( 'You got mail!', message )
})
.catch( function ( err ) {
console.log( 'Something went wrong.')
})