diff --git a/README.md b/README.md index f7aa3f04a26..5d9b239ae29 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 8ec66877aec..9e6a94f0669 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 b58bad93f91..27ebbd4fba3 100755
--- a/package.json
+++ b/package.json
@@ -19,6 +19,7 @@
"less": "~1.6.2",
"mongoose": "~3.8.5",
"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.5.2",
diff --git a/views/contact.jade b/views/contact.jade
index f6b4e7105e7..12f840d7a54 100644
--- a/views/contact.jade
+++ b/views/contact.jade
@@ -22,5 +22,4 @@ block content
.col-sm-offset-2.col-sm-8
button.btn.btn-default(type='submit')
i.fa.fa-mail-forward
- | Send
- img.pull-right(height='34', src='/img/sendgrid.png')
+ | Send
\ No newline at end of file