diff --git a/README.md b/README.md
index 0229f893c9..5e015713d9 100644
--- a/README.md
+++ b/README.md
@@ -303,6 +303,15 @@ The same goes for other providers.
- Sign up and add your *Domain Name*
- From the domain overview, copy and paste the default SMTP *Login* and *Password* into `config/secrets.js`
+
+
+
+- Go to http://mandrill.com
+- Sign up and add your *Domain Name*
+- From the dashboard, click on *Get SMTP credentials
+- Copy and paste the default SMTP *Login* and *Password* into `config/secrets.js`
+
+
Project Structure
-----------------
@@ -602,7 +611,7 @@ reference guide. I have explained my reasons why it could not be merged in
### How do I switch SendGrid for another email delivery service?
Run `node generator.js` bundled with Hackathon Starter, then select
**Email Service** option. It will automatically replace appropriate strings in
-your code. Currently there are only two options: SendGrid and Mailgun.
+your code. Currently there are three options: SendGrid, Mandrill, and Mailgun.
How It Works (mini guides)
--------------------------
diff --git a/generator.js b/generator.js
index 81f7eee5e0..b2f840c326 100644
--- a/generator.js
+++ b/generator.js
@@ -30,7 +30,7 @@ inquirer.prompt({
type: 'list',
name: 'email',
message: 'Choose Email Delivery Service:',
- choices: ['SendGrid', 'Mailgun', 'Cancel']
+ choices: ['SendGrid', 'Mailgun', 'Mandrill', 'Cancel']
}, function(answer) {
var index;
@@ -55,7 +55,7 @@ inquirer.prompt({
userController.splice(index + 1, 1, ' service: \'SendGrid\',');
userController.splice(index + 3, 1, ' user: secrets.sendgrid.user,');
userController.splice(index + 4, 1, ' pass: secrets.sendgrid.password');
- index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {', 1);
+ index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {', (index + 1));
userController.splice(index + 1, 1, ' service: \'SendGrid\',');
userController.splice(index + 3, 1, ' user: secrets.sendgrid.user,');
userController.splice(index + 4, 1, ' pass: secrets.sendgrid.password');
@@ -78,7 +78,7 @@ inquirer.prompt({
userController.splice(index + 1, 1, ' service: \'Mailgun\',');
userController.splice(index + 3, 1, ' user: secrets.mailgun.login,');
userController.splice(index + 4, 1, ' pass: secrets.mailgun.password');
- index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {', 1);
+ index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {', (index + 1));
userController.splice(index + 1, 1, ' service: \'Mailgun\',');
userController.splice(index + 3, 1, ' user: secrets.mailgun.login,');
userController.splice(index + 4, 1, ' pass: secrets.mailgun.password');
@@ -86,6 +86,29 @@ inquirer.prompt({
console.log('✓ Email Delivery Service has been switched to'.info, '@'.error + 'mail'.data + 'gun'.error);
}
+
+ if (answer.email.match('Mandrill')) {
+
+ // Change SMPT Transport to Mailgun in controllers/contact.js
+ index = contactController.indexOf('var smtpTransport = nodemailer.createTransport(\'SMTP\', {');
+ contactController.splice(index + 1, 1, ' service: \'Mandrill\',');
+ contactController.splice(index + 3, 1, ' user: secrets.mandrill.login,');
+ contactController.splice(index + 4, 1, ' pass: secrets.mandrill.password');
+ fs.writeFileSync(contactControllerFile, contactController.join(os.EOL));
+
+ // Change SMPT Transport to Mailgun in controllers/user.js
+ index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {');
+ userController.splice(index + 1, 1, ' service: \'Mandrill\',');
+ userController.splice(index + 3, 1, ' user: secrets.mandrill.login,');
+ userController.splice(index + 4, 1, ' pass: secrets.mandrill.password');
+ index = userController.indexOf(' var smtpTransport = nodemailer.createTransport(\'SMTP\', {', (index + 1));
+ userController.splice(index + 1, 1, ' service: \'Mandrill\',');
+ userController.splice(index + 3, 1, ' user: secrets.mandrill.login,');
+ userController.splice(index + 4, 1, ' pass: secrets.mandrill.password');
+ fs.writeFileSync(userControllerFile, userController.join(os.EOL));
+
+ console.log('✓ Email Delivery Service has been switched to'.info, 'Mandrill'.help);
+ }
});
}
@@ -1036,4 +1059,4 @@ inquirer.prompt({
}
});
}
-});
\ No newline at end of file
+});