Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #START:imports
- express = require 'express'
- mailer = require './sendgrid_mailer'
- #END:imports
- class Server
- #START:constructor
- constructor: (@port) ->
- @app = express.createServer express.logger()
- @configureApp()
- @configureRoutes()
- @emailer = new mailer @app
- #END:constructor
- #START:configureRoutes
- configureRoutes: ->
- @app.get '/', (request, response) ->
- response.render 'index.jade', {layout: true }
- @app.post '/', (request, response) =>
- to = request.params.mail.to
- cc = request.params.mail.cc
- bcc = request.params.mail.bcc
- subject = request.params.mail.subject
- plainText = request.params.mail.plainText
- html = request.params.mail.htmlText
- @emailer.sendEmail to, cc, bcc, subject, plainText, html, (err, result) ->
- console.log "error sending mail #{err}" if err?
- response.render 'index.jade', {layout: true, locals: {errorMessage: err, flashMessage: 'You email was sent'}}
- #END:configureRoutes
- #START:configureApp
- configureApp: ->
- app.use express.logger()
- app.use express.methodOverride()
- app.use express.bodyParser()
- smptSettings =
- host: "smtp.sendgrid.net"
- port: 25
- password: process.env.SENDGRID_PASSWORD
- username: process.env.SENDGRID_USERNAME
- app.set 'smtpsettings', smptSettings
- #END:configureApp
- #START:start
- start: ->
- usedPort = @port
- @app.listen @port, -> console.log("Listening on " + usedPort)
- #END:start
- #START:exports
- module.exports = Server
- #END:exports
Add Comment
Please, Sign In to add comment