summaryrefslogtreecommitdiff
path: root/server/lib/auth/mail.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/auth/mail.js')
-rw-r--r--server/lib/auth/mail.js67
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