diff --git a/lib/connectors/mail.js b/lib/connectors/mail.js index 44e0616c..86bf3f2b 100644 --- a/lib/connectors/mail.js +++ b/lib/connectors/mail.js @@ -60,10 +60,11 @@ MailConnector.prototype.DataAccessObject = Mailer; * Example: * * Email.setupTransport({ - * type: 'SMTP', + * type: "SMTP", * host: "smtp.gmail.com", // hostname * secureConnection: true, // use SSL * port: 465, // port for secure SMTP + * alias: "gmail", // optional alias for use with 'transport' option when sending * auth: { * user: "gmail.user@gmail.com", * pass: "userpass" @@ -89,7 +90,7 @@ MailConnector.prototype.setupTransport = function(setting) { transport = mailer.createTransport(transportModule(setting)); } - connector.transportsIndex[setting.type] = transport; + connector.transportsIndex[setting.alias || setting.type] = transport; connector.transports.push(transport); }; @@ -128,7 +129,8 @@ MailConnector.prototype.defaultTransport = function() { * to: "bar@blurdybloop.com, baz@blurdybloop.com", // list of receivers * subject: "Hello ✔", // Subject line * text: "Hello world ✔", // plaintext body - * html: "Hello world ✔" // html body + * html: "Hello world ✔", // html body + * transport: "gmail", // See 'alias' option above in setupTransport * } * * See https://github.com/andris9/Nodemailer for other supported options. diff --git a/test/email.test.js b/test/email.test.js index aa6ebd60..6e05c8ae 100644 --- a/test/email.test.js +++ b/test/email.test.js @@ -37,6 +37,14 @@ describe('Email connector', function() { assert(connector.transportForName('smtp')); }); + + it('should set up a aliased transport for SMTP', function() { + var connector = new MailConnector({ transport: + { type: 'smtp', service: 'ses-us-east-1', alias: 'ses-smtp' }, + }); + + assert(connector.transportForName('ses-smtp')); + }); }); describe('Email and SMTP', function() {