diff options
Diffstat (limited to 'server/lib/auth/mail.js')
| -rw-r--r-- | server/lib/auth/mail.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/server/lib/auth/mail.js b/server/lib/auth/mail.js new file mode 100644 index 0000000..a4abccd --- /dev/null +++ b/server/lib/auth/mail.js @@ -0,0 +1,67 @@ + +var email = require("emailjs"), + ejs = require("ejs"), + fs = require("fs"), + util = require("../util"); + +var mail = { + + from: 'Vvalls <info@vvalls.com>', + templates: {}, + + init: function(){ + var names = ["welcome","password"].forEach(function(name){ + mail.templates[name] = {}; + var types = ["text","html"].forEach(function(type){ + fs.readFile("views/mail/" + name + "." + type + ".ejs", function(err, data){ + mail.templates[name][type] = ejs.compile(data.toString()) + }) + }) + }) + }, + + connect: function(){ + var server = email.server.connect({ + user: process.env.OKFOCUS_EMAIL_USERNAME, + password: process.env.OKFOCUS_EMAIL_PASSWORD, + host: "smtp.sendgrid.net", + ssl: true + }) + return server + }, + + send: function(msg, cb){ + var server = mail.connect() + server.send(msg, cb) + }, + + welcome: function(user, cb){ + var message = { + text: mail.templates.welcome.text(user), + from: mail.from, + to: user.email, + subject: "Welcome to Vvalls", + attachment: [ + { data: mail.templates.welcome.html(user), alternative: true }, + ] + }; + mail.send(message, cb) + console.log("sent welcome email to", user.email) + }, + + forgotPassword: function(user, cb){ + var message = { + text: mail.templates.password.text(user), + from: mail.from, + to: user.email, + subject: "Recover your password", + attachment: [ + { data: mail.templates.password.html(user), alternative: true }, + ] + } + mail.send(message, cb) + console.log("sent password email to", user.email) + }, +} + +module.exports = mail |
