summaryrefslogtreecommitdiff
path: root/server/lib/auth/mail.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-07-02 16:22:51 -0400
committerJules Laplace <jules@okfoc.us>2014-07-02 16:22:51 -0400
commit221a14315b09946db2485036bbf4a80295dc4889 (patch)
treea0c96d11dac2aed77cc453e2fcb9841fcae4d19e /server/lib/auth/mail.js
parentbde9f3e47d66a1c8a334763146671320ac0359f9 (diff)
password reset / username dupe stuff from PH
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