File: /var/dev/farhangmoaser/web/helpers/mail.js
/**
 * EMail Helper
 * Version: 0.1
 * Author: Babak Vandad
 *
 * Helper object for sending activation emails and the like.
 */
"use strict";
var c = require('../config.js');
var nodemailer = require('nodemailer');
class MailHelper {
	static sendActivationEMail(user) {
		return new Promise((resolve, reject) => {
			let transporter = nodemailer.createTransport(c.mail.connection);
			let displayname = user.field('displayname');
			let emailAddress = user.field('email');
			let activationUrl = c.client.hostname+'/user/activate/'+user.field('activationKey');
			let mailOptions = {
				from: `"فرهنگ معاصر" <${c.mail.address}>`,
				to: `"${displayname}" <${emailAddress}>`,
				subject: 'فعالسازی حساب کاربری',
				html: `<h1>تأیید حساب کاربری فرهنگ معاصر</h1><p>حساب کاربری خود را از طریق <a href="${activationUrl}">این پیوند</a> فعال نمایید.</p>`
			};
			transporter.sendMail(mailOptions, (error, info) => {
				if (error) return reject(error.message);
				resolve(info);
			});
		});
	}
	static sendResetPasswordEMail(user) {
		return new Promise((resolve, reject) => {
			let transporter = nodemailer.createTransport(c.mail.connection);
			let displayname = user.field('displayname');
			let emailAddress = user.field('email');
			let activationUrl = c.client.hostname+'/user/reset/'+user.field('activationKey');
			let mailOptions = {
				from: `"فرهنگ معاصر" <${c.mail.address}>`,
				to: `"${displayname}" <${emailAddress}>`,
				subject: 'تغییر کلمه عبور کاربر',
				html: `<h1>تغییر کلمه عبور کاربر</h1><p>برای تغییر رمز عبور خود از طریق <a href="${activationUrl}">این پیوند</a> اقدام نمایید.</p>`
			};
			transporter.sendMail(mailOptions, (error, info) => {
				if (error) return reject(error.message);
				resolve(info);
			});
		});
	}
}
module.exports = MailHelper;