UNPKG

sendcloud-postman

Version:
140 lines (126 loc) 5.5 kB
var request = require('request'); var util = require('util'); // config var MAILADDR = 'https://sendcloud.sohu.com/webapi/mail.send.xml' // table of all usages var SUBMAILS = { 'forgetPassword': { subject: 'Qisense 密码找回', submail: 'postmaster@subTrigger01.sendcloud.org', template: forgetPasswordFn }, 'newRegister': { subject: '欢迎使用Qisense系统', submail: 'postmaster@subTrigger01.sendcloud.org', template: newUserRegisterFn }, 'userSuggestion': { subject: 'qisense用户建议', submail: 'postmaster@subTrigger01.sendcloud.org', template: userSuggestion } } // core function Postman (msgtype, apikey) { // api key is secret, you need to pass it in with argument this.apikey = apikey; // job of postman this.mailset = SUBMAILS[msgtype]; }; Postman.prototype.send = function (mailInfo, username, sessionKey, localhost, cb) { /* @mailInfo: to from fromname */ // append info mailInfo.api_key = this.apikey; mailInfo.api_user = this.mailset.submail; mailInfo.subject = this.mailset.subject; // set html content mailInfo.html = this.mailset.template(localhost , username, sessionKey ); console.log(mailInfo.html) // send mail post request.post( MAILADDR, { form: mailInfo }, function (err, res, body) { if (!err && res.statusCode === 200) { console.log("posting to sendcloud success"); cb(null, 'success'); } else { cb(err); } } ) } // format date in chinese var Now = function () { var formatter = "%d年%d月%d日-%d时%d分", t = new Date(); return util.format(formatter, t.getFullYear(), t.getMonth() + 1, t.getDate(), t.getHours(), t.getMinutes() ) } // templates function forgetPasswordFn(site, username, sessionKey) { return '<p>尊敬的客户:</p>' + ' <p>您好!</p> <p>您在&nbsp;' + Now() + '申请重置密码,</p>' + '<p><span style="font-size: 12.7272720336914px; line-height: 20.8000011444092px;">请点击下面的链接修改用户'+ username + '</span></p>'+ '<p>http://'+ site + '/#/reset_password?token='+ sessionKey + ';</p>'+ '<p><span style="font-size: 13px; line-height: 1.6em;">为了保证您帐号的安全性,该链接有效期为30分钟,并且点击一次后将失效!</span></p> <p>Qisense 运营团队</p> <p>&nbsp;</p> <p>系统发信, 请勿回复</p> <p>Qisense官方网站: Qisense.com</p> <p>&nbsp;</p>' } function newUserRegisterFn(site, username, password) { return '<p>尊敬的客户:</p>' + ' <p>您好!</p> '+ ' <p>感谢您注册使用Qisense智能系统, 以下是您的账号信息:</p>' + '<p>账号名: ' + username + '</p>'+ '<p>初始密码: '+ password + '</p>'+ '<p>请于登录后修改您的密码,谢谢!</p>' + '<p>登录点击:' + site + '</p>' + '<p>&nbsp;</p>' + '<p>Qisense 运营团队</p>' + '<p>系统发信, 请勿回复</p>' + '<p>Qisense官方网站: Qisense.com</p>' } function userSuggestion (email, cellphone, suggestion) { return '<p>qisense 用户邮箱:</p>' + '<p>'+ email + '</p>' + '<p>qisense 用户手机:</p>'+ '<p>' + cellphone +'</p>'+ '<p>qisense 用户建议:</p>' + '<p>' + suggestion + '</p>' + '<div style="display:none;">' + '<p><span style="color: rgb(17, 17, 17); font-family: Helvetica, Arial, sans-serif; font-size: 12.8000001907349px; line-height: 16.8479995727539px;">曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。如果非要在这份爱上加上一个期限,我希望是&hellip;&hellip;一万年&hellip;&hellip;&nbsp;</span></p>' + '<p><span style="color: rgb(17, 17, 17); font-family: Helvetica, Arial, sans-serif; font-size: 12.8000001907349px; line-height: 16.8479995727539px;">你想要啊?悟空,你要是想要的话你就说话嘛,你不说我怎么知道你想要呢,虽然你很有诚意地看着我,可是你还是要跟我说你想要的。你真的想要吗?那你就拿去吧!你不是真的想要吧?难道你真的想要吗?&hellip;&hellip;&nbsp;</span><br style="color: rgb(17, 17, 17); font-family: Helvetica, Arial, sans-serif; font-size: 12.8000001907349px; line-height: 16.8479995727539px;" />' + '<span style="color: rgb(17, 17, 17); font-family: Helvetica, Arial, sans-serif; font-size: 12.8000001907349px; line-height: 16.8479995727539px;">你想要啊?你想要说清楚不就行了吗?你想要的话我会给你的,你想要我当然不会不给你啦!不可能你说要我不给你,你说不要我却偏要给你,大家讲道理嘛!现在我数三下,你要说清楚你要不要&hellip;&hellip;&nbsp;</span></p>'+ '</div>' + '<p>&nbsp;</p>' + '<p>&nbsp;</p>' } module.exports = Postman;