diff --git a/README.md b/README.md index f7aa3f04a2..5d9b239ae2 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Features - Rails 3.1-style asset pipeline (See FAQ) - LESS stylesheets (auto-compiled via Express middleware) - Bootstrap 3 + Flat UI + iOS7 Theme -- Contact Form (powered by Sendgrid) +- Contact Form (powered by Mailgun or Sendgrid) - **Account Management** - Gravatar - Profile Details @@ -203,6 +203,13 @@ Obtaining API Keys - Enter your *Domain Name*, then and click **Register** - Copy and paste *Key* into `config.secrets.js` +
+ + +- Go to http://www.mailgun.com +- Sign up and add your *Domain Name* +- From the domain overview, copy and paste the default SMTP *Login* and *Password* into `config.secrets.js` + Project Structure ----------------- diff --git a/controllers/contact.js b/controllers/contact.js index 8ec66877ae..9e6a94f066 100644 --- a/controllers/contact.js +++ b/controllers/contact.js @@ -1,5 +1,17 @@ var secrets = require('../config/secrets'); -var sendgrid = require('sendgrid')(secrets.sendgrid.user, secrets.sendgrid.password); +var nodemailer = require("nodemailer"); +var smtpTransport = nodemailer.createTransport("SMTP", { + service: "Mailgun", + auth: { + user: secrets.mailgun.login, + pass: secrets.mailgun.password + } + // service: "Sendgrid", + // auth: { + // user: secrets.sendgrid.user, + // pass: secrets.sendgrid.password + // } +}); /** * GET /contact @@ -14,7 +26,7 @@ exports.getContact = function(req, res) { /** * POST /contact - * Send a contact form via SendGrid. + * Send a contact form via Nodemailer. * @param email * @param name * @param message @@ -38,14 +50,14 @@ exports.postContact = function(req, res) { var to = 'you@email.com'; var subject = 'API Example | Contact Form'; - var email = new sendgrid.Email({ + var mailOptions = { to: to, from: from, subject: subject, text: body + '\n\n' + name - }); + }; - sendgrid.send(email, function(err) { + smtpTransport.sendMail(mailOptions, function(err) { if (err) { req.flash('errors', { msg: err.message }); return res.redirect('/contact'); diff --git a/package.json b/package.json index 6925a0d62d..a7512721b1 100755 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "less": "~1.6.3", "mongoose": "~3.8.7", "node-foursquare": "~0.2.0", + "nodemailer": "~0.6.0", "passport": "~0.2.0", "passport-facebook": "~1.0.2", "passport-github": "~0.1.5", @@ -27,7 +28,6 @@ "passport-oauth": "~1.0.0", "passport-twitter": "~1.0.2", "request": "~2.33.0", - "sendgrid": "~0.4.6", "tumblr.js": "~0.0.4", "twit": "~1.1.12", "underscore": "~1.6.0", diff --git a/views/contact.jade b/views/contact.jade index 1e020c61cd..2b8a301434 100644 --- a/views/contact.jade +++ b/views/contact.jade @@ -23,4 +23,3 @@ block content button.btn.btn-default(type='submit') i.fa.fa-mail-forward | Send - img.pull-right(height='34', src='/img/sendgrid.png')