Skip to content

Instantly share code, notes, and snippets.

@jbgutierrez
Created April 3, 2016 16:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbgutierrez/b1a85878fa8063ae00a51ee9b4f804c8 to your computer and use it in GitHub Desktop.
Save jbgutierrez/b1a85878fa8063ae00a51ee9b4f804c8 to your computer and use it in GitHub Desktop.
Mailing Service
express = require 'express'
skipper = require 'skipper'
nodemailer = require 'nodemailer'
app = express()
verifyToken = (req, res, next) ->
token = req.body.token || req.query.token || req.headers['x-access-token']
if token is process.env.TOKEN
next()
else
res.status(403).send
success: false
message: if token then 'No token provided.' else 'Failed to authenticate token.'
transporter = nodemailer.createTransport
pool: true
host: 'smtp.gmail.com'
port: 465
secure: true
auth:
user: process.env.USER
pass: process.env.PASS
app.use skipper()
app.use verifyToken
app.post '*', (req, res) ->
req.file('attachment').upload (err, files) ->
return res.send 500, err if err
data = req.body
data.attachments =
for file in files
filename: file.filename
path: file.fd
transporter.sendMail data, (error, info) ->
if error
console.log error
return
console.log 'Message sent: ' + info.response
res.send data
module.exports = app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment