Guest User

Untitled

a guest
Jan 21st, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. #START:imports
  2. express = require 'express'
  3. mailer = require './sendgrid_mailer'
  4. #END:imports
  5.  
  6. class Server
  7. #START:constructor
  8. constructor: (@port) ->
  9. @app = express.createServer express.logger()
  10. @configureApp()
  11. @configureRoutes()
  12. @emailer = new mailer @app
  13. #END:constructor
  14.  
  15. #START:configureRoutes
  16. configureRoutes: ->
  17.  
  18. @app.get '/', (request, response) ->
  19. response.render 'index.jade', {layout: true }
  20.  
  21. @app.post '/', (request, response) =>
  22. to = request.params.mail.to
  23. cc = request.params.mail.cc
  24. bcc = request.params.mail.bcc
  25. subject = request.params.mail.subject
  26. plainText = request.params.mail.plainText
  27. html = request.params.mail.htmlText
  28.  
  29. @emailer.sendEmail to, cc, bcc, subject, plainText, html, (err, result) ->
  30. console.log "error sending mail #{err}" if err?
  31. response.render 'index.jade', {layout: true, locals: {errorMessage: err, flashMessage: 'You email was sent'}}
  32.  
  33. #END:configureRoutes
  34.  
  35. #START:configureApp
  36. configureApp: ->
  37. app.use express.logger()
  38. app.use express.methodOverride()
  39. app.use express.bodyParser()
  40.  
  41. smptSettings =
  42. host: "smtp.sendgrid.net"
  43. port: 25
  44. password: process.env.SENDGRID_PASSWORD
  45. username: process.env.SENDGRID_USERNAME
  46.  
  47. app.set 'smtpsettings', smptSettings
  48. #END:configureApp
  49.  
  50. #START:start
  51. start: ->
  52. usedPort = @port
  53. @app.listen @port, -> console.log("Listening on " + usedPort)
  54. #END:start
  55.  
  56. #START:exports
  57. module.exports = Server
  58. #END:exports
Add Comment
Please, Sign In to add comment