Support 'alias' in mail transport config.

Useful if you need to set up multiple transports of the same type.

[forward-port of #2489]
This commit is contained in:
Samuel Reed 2016-07-05 10:47:30 -05:00 committed by Miroslav Bajtoš
parent 21ce174939
commit 22345cfcda
2 changed files with 13 additions and 3 deletions

View File

@ -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: "<b>Hello world ✔</b>" // html body
* html: "<b>Hello world ✔</b>", // html body
* transport: "gmail", // See 'alias' option above in setupTransport
* }
*
* See https://github.com/andris9/Nodemailer for other supported options.

View File

@ -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() {