· 6 years ago · Oct 09, 2019, 05:50 PM
1var loopback = require('loopback');
2var boot = require('loopback-boot');
3var Db = require('mongodb').Db;
4var Server = require('mongodb').Server;
5var nodemailer = require('nodemailer');
6var DataSource = require('loopback-datasource-juggler').DataSource;
7var clients = {};
8var app = module.exports = loopback();
9
10//ssl
11var https = require('https');
12var http = require('http');
13//var sslConfig = require('./ssl-config');
14
15/*
16var options = {
17 key: sslConfig.privateKey,
18 cert: sslConfig.certificate
19};
20*/
21
22app.start = function (httpOnly) {
23 // start the web server
24 /*return app.listen(4000, function () {
25 var baseUrl = (httpOnly ? 'http://' : 'https://') + app.get('host') + ':' + 4000;
26 console.log(baseUrl);
27 app.emit('started', baseUrl);
28 console.log('Web server listening at: %s', app.get('url'));
29 });*/
30 httpOnly = true
31 console.log('httponly:' + httpOnly);
32 if (httpOnly === undefined) {
33 httpOnly = process.env.HTTP;
34 }
35 var server = null;
36 if (!httpOnly) {
37 var options = {
38 key: sslConfig.privateKey,
39 cert: sslConfig.certificate
40 };
41 server = https.createServer(options, app);
42 } else {
43 server = http.createServer(app);
44 }
45 server.listen(4000, function () {
46 var baseUrl = (httpOnly ? 'http://' : 'https://') + app.get('host') + ':' + 4000;
47 //var baseUrl = "https://localhost:4000";
48 //console.log(options);
49 app.set('url', baseUrl);
50 app.emit('started', baseUrl);
51 //console.log('LoopBack server listening @ %s%s', baseUrl, '/');
52 console.log('Web server listening at: %s', app.get('url'));
53 /*if (app.get('loopback-component-explorer')) {
54 var explorerPath = app.get('loopback-component-explorer').mountPath;
55 console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
56 }*/
57 });
58 return server;
59};
60
61// Bootstrap the application, configure models, datasources and middleware.
62// Sub-apps like REST API are mounted via boot scripts.
63boot(app, __dirname, function (err) {
64 if (err) throw err;
65
66 // start the server if `$ node server.js`
67 if (require.main === module) {
68 var io = require('socket.io')(app.start());
69 io.on('connection', function (socket) {
70 socket.on('registration', function (tenantData) {
71 // kirim email verivication ke user
72 var transporter = nodemailer.createTransport({
73 service: 'Gmail',
74 auth: {
75 user: 'no-reply@meeberpos.com',
76 pass: 'm33B3r01$05'
77 }
78 });
79 var mailOptions = {
80 from: 'Meeber POS Indonesia <meeber.pos@gmail.com>', // sender address
81 to: tenantData.message.tenant_email, // list of receivers
82 subject: 'Meeber POS Signup | Verification ', // Subject line
83 /*html: "<b>Meeber POS Indonesia</b><br/><br/>" +
84 "<img src='https://lh3.googleusercontent.com/j3Mivb11FJQTif9p7-9o6L7JxfvFX1Qg9VpQJxh_8CVJs3Xq3luqBPxlh-WEQG6pBg=w300' width='120'/><br/>" +
85 "<span>Thanks "+ tenantData.message.tenant_username +" for signing up!</span>" +
86 "<p>Your account has been created, you can login with the following credentials after you have activated your account by pressing the url below.</p>" +
87 "<br/>" +
88 "Please click this link to activate your account:<br/>" +
89 "http://meeberpos.com:4000/verify.html#?email="+tenantData.message.tenant_email+"&hash=" + tenantData.message.tenant_hash +" "*/
90 html: "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#8d8e90'><tr><td><table width='600' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF' align='center'><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='205'><a href= 'http://meeberpos.com/' target='_blank'><img src='http://meeberpos.com/assets/meeberlogo.png' width='200' border='0' alt='' style='margin-top:10px'/></a></td><td width='393'><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td height='46'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:23px;'><strong>Fly your bussiness with us!</strong></a></font></td></tr><tr><td height='50'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:20px; text-transform:uppercase'><strong>#1 RESTO MANAGEMENT SYSTEM</strong></a></font></td></tr><tr><td height='10' style='background:#ED4249'></td></tr></table></td></tr></table></td></tr><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='10%'> </td>" +
91 "<td width='80%' align='left' valign='top'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#010101; font-size:24px'><strong><em>Hi " + tenantData.message.tenant_username + ",</em></strong></font><br /><br /><font style='font-family: Verdana, Geneva, sans-serif; color:#666766; font-size:13px; line-height:21px'>Thank you for signup. Your account has been created, you can login with the following credentials after you have activated your account by pressing the url below. <br /><br />We pleased to welcome you as meeberian now. Please spread this good news to all over the world.<br /><br />On behalf of the Company<br />Meeber Team</font></td>" +
92 "<td width='10%'> </td></tr><tr><td> </td><td align='right' valign='top'><table width='108' border='0' cellspacing='0' cellpadding='0'><tr><td height='10' align='center' valign='middle' bgcolor='#f58220'> </td></tr><tr><td align='center' valign='middle' bgcolor='#f58220'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:14px'><em><a href='https://meeberpos.com/dashboard/verify.html#?email=" + tenantData.message.tenant_email + "&hash=" + tenantData.message.tenant_hash + "' target='_blank' style='color:#ffffff; text-decoration: underline'>click here</a></em></font></td></tr>" +
93 "<tr><td align='center' valign='middle' bgcolor='#f58220'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:15px'><strong><a href='https://meeberpos.com/dashboard/verify.html#?email=" + tenantData.message.tenant_email + "&hash=" + tenantData.message.tenant_hash + "' target='_blank' style='color:#ffffff; text-decoration:none'><em>ACTIVATE</em></a></strong></font></td></tr><tr><td height='10' align='center' valign='middle' bgcolor='#f58220'> </td></tr></table></td><td> </td></tr></table></td></tr><tr><td> </td></tr><tr><td> </td></tr><tr><td width='100%' height='7' style='background:#ED4249'></td></tr><tr><td> </td></tr>" +
94 "<tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='13%' align='center'> </td>" +
95
96 "<td width='14%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>UNSUBSCRIBE </strong></a></font></td>" +
97
98 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
99
100 "<td width='9%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>ABOUT </strong></a></font></td>" +
101
102 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
103
104 "<td width='10%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>PRESS </strong></a></font></td>" +
105
106 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
107
108 "<td width='11%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>CONTACT </strong></a></font></td>" +
109
110 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
111
112 "<td width='17%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none' ><strong>STAY CONNECTED</strong></a></font></td>" +
113
114 "<td width='4%' align='right'><a href='https://www.facebook.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_fb.png' alt='facebook' width='21' height='19' border='0' /></a></td>" +
115 "<td width='5%' align='center'><a href='https://twitter.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_twitter.png' alt='twitter' width='23' height='19' border='0' /></a></td>" +
116 "<td width='4%' align='right'><a href='http://www.linkedin.com//company/meeber-pos' target='_blank'><img src='http://meeberpos.com/assets/icon_linkedin.png' alt='linkedin' width='20' height='19' border='0' /></a></td>" +
117 "<td width='5%'> </td></tr></table></td></tr><tr><td> </td></tr><tr>" +
118 "<td align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#231f20; font-size:8px'><strong>Meeber Teknologi Indonesia, PT, Ruko Panji Makmur B-19, Jalan Panjang Jiwo 46-49, Surabaya, Jawa Timur, Indonesia, 60299 | Tel: +62 31 99841788 | <a href= 'mailto:no-reply@meeberpos.com' style='color:#010203; text-decoration:none'>no-reply@meeberpos.com</a></strong></font></td></tr>" +
119 "<tr><td> </td></tr></table></td></tr></table>"
120 };
121
122 // send mail with defined transport object
123 transporter.sendMail(mailOptions, function (error, info) {
124 if (error) {
125 return console.log(error);
126 }
127 console.log('Message sent: ' + info.response);
128
129 });
130 });
131 socket.on('forgotPassword', function (tenantData) {
132 var mailOptions = {
133 from: 'Meeber POS Indonesia <meeber.pos@gmail.com>', // sender address
134 to: tenantData.message.tenant_email, // list of receivers
135 subject: 'Meeber Team | Password Reset ', // Subject line
136 html: "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#8d8e90'><tr><td><table width='600' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF' align='center'><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='205'><a href= 'http://meeberpos.com/' target='_blank'><img src='http://meeberpos.com/assets/meeberlogo.png' width='200' border='0' alt='' style='margin-top:10px'/></a></td><td width='393'><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td height='46'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:23px;'><strong>Fly your bussiness with us!</strong></a></font></td></tr><tr><td height='50'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:20px; text-transform:uppercase'><strong>#1 RESTO MANAGEMENT SYSTEM</strong></a></font></td></tr><tr><td height='10' style='background:#ED4249'></td></tr></table></td></tr></table></td></tr><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='10%'> </td>" +
137 "<td width='80%' align='left' valign='top'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#010101; font-size:24px'><strong><em>Hi " + tenantData.message.tenant_username + ",</em></strong></font><br /><br /><font style='font-family: Verdana, Geneva, sans-serif; color:#666766; font-size:13px; line-height:21px'>We were told that you forgot your Password on Meeber. <br /><br />To reset your password please clik the button link below (link expires in 24 hours).<br /><br /> This Link takes you to a secure page where you can change your password. If you don't want to reset your password, please ignore this message. Your password will not be reset.<br /><br />On behalf of the Company<br />Meeber Team</font></td>" +
138 "<td width='10%'> </td></tr><tr><td> </td><td align='right' valign='top'><table width='108' border='0' cellspacing='0' cellpadding='0'><tr><td height='10' align='center' valign='middle' bgcolor='#f58220'> </td></tr><tr><td align='center' valign='middle' bgcolor='#f58220'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:14px'><em><a href='https://meeberpos.com/dashboard/reset-password.html#?email=" + tenantData.message.tenant_email + "&hash=" + tenantData.message.tenant_hash + "' target='_blank' style='color:#ffffff; text-decoration: underline'>click here</a></em></font></td></tr>" +
139 "<tr><td align='center' valign='middle' bgcolor='#f58220'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:15px'><strong><a href='https://meeberpos.com/dashboard/reset-password.html#?email=" + tenantData.message.tenant_email + "&hash=" + tenantData.message.tenant_hash + "' target='_blank' style='color:#ffffff; text-decoration:none'><em>Reset Password</em></a></strong></font></td></tr><tr><td height='10' align='center' valign='middle' bgcolor='#f58220'> </td></tr></table></td><td> </td></tr></table></td></tr><tr><td> </td></tr><tr><td> </td></tr><tr><td width='100%' height='7' style='background:#ED4249'></td></tr><tr><td> </td></tr>" +
140 "<tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='13%' align='center'> </td>" +
141
142 "<td width='14%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>UNSUBSCRIBE </strong></a></font></td>" +
143
144 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
145
146 "<td width='9%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>ABOUT </strong></a></font></td>" +
147
148 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
149
150 "<td width='10%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>PRESS </strong></a></font></td>" +
151
152 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
153
154 "<td width='11%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>CONTACT </strong></a></font></td>" +
155
156 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
157
158 "<td width='17%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none' ><strong>STAY CONNECTED</strong></a></font></td>" +
159
160 "<td width='4%' align='right'><a href='https://www.facebook.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_fb.png' alt='facebook' width='21' height='19' border='0' /></a></td>" +
161 "<td width='5%' align='center'><a href='https://twitter.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_twitter.png' alt='twitter' width='23' height='19' border='0' /></a></td>" +
162 "<td width='4%' align='right'><a href='http://www.linkedin.com//company/meeber-pos' target='_blank'><img src='http://meeberpos.com/assets/icon_linkedin.png' alt='linkedin' width='20' height='19' border='0' /></a></td>" +
163 "<td width='5%'> </td></tr></table></td></tr><tr><td> </td></tr><tr>" +
164 "<td align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#231f20; font-size:8px'><strong>Meeber Teknologi Indonesia, PT, Ruko Panji Makmur B-19, Jalan Panjang Jiwo 46-49, Surabaya, Jawa Timur, Indonesia, 60299 | Tel: +62 31 99841788 | <a href= 'mailto:no-reply@meeberpos.com' style='color:#010203; text-decoration:none'>no-reply@meeberpos.com</a></strong></font></td></tr>" +
165 "<tr><td> </td></tr></table></td></tr></table>"
166 };
167
168 var transporter = nodemailer.createTransport({
169 service: 'Gmail',
170 auth: {
171 user: 'no-reply@meeberpos.com',
172 pass: 'm33B3r01$05'
173 }
174 });
175
176
177 // send mail with defined transport object
178 transporter.sendMail(mailOptions, function (error, info) {
179 if (error) {
180 return console.log(error);
181 }
182 console.log('Message sent: ' + info.response);
183 });
184 });
185
186 socket.on('email receipt', function (data) {
187 var mailOptions = {
188 from: 'Meeber POS Indonesia <meeber.pos@gmail.com>', // sender address
189 to: data.email, // list of receivers
190 subject: 'Meeber POS | Copy Of Your Receipt ', // Subject line
191 html: "<b>Meeber POS Indonesia</b><br/><br/>" +
192 "<img src='https://lh3.googleusercontent.com/j3Mivb11FJQTif9p7-9o6L7JxfvFX1Qg9VpQJxh_8CVJs3Xq3luqBPxlh-WEQG6pBg=w300' width='120'/><br/>" +
193 "<span>Thanks for visitting " + data.restaurant + "!</span>" +
194 "<p>Here is copy of your receipt</p>" +
195 "<br/>",
196 //"<img src='"+data.image+"' width='300'/>",
197 attachments: [{path: data.image}]
198 };
199
200 var transporter = nodemailer.createTransport({
201 service: 'Gmail',
202 auth: {
203 user: 'no-reply@meeberpos.com',
204 pass: 'm33B3r01$05'
205 }
206 });
207
208
209 // send mail with defined transport object
210 transporter.sendMail(mailOptions, function (error, info) {
211 if (error) {
212 return console.log(error);
213 }
214 console.log('Message sent: ' + info.response);
215
216 });
217 });
218
219 socket.on('email drawer', function (data) {
220 var mailOptions = {
221 from: 'Meeber POS Indonesia <meeber.pos@gmail.com>', // sender address
222 to: data.email, // list of receivers
223 subject: 'Meeber POS | Copy Of Your Drawer Report ', // Subject line
224 html: "<b>Meeber POS Indonesia</b><br/><br/>" +
225 "<img src='https://lh3.googleusercontent.com/j3Mivb11FJQTif9p7-9o6L7JxfvFX1Qg9VpQJxh_8CVJs3Xq3luqBPxlh-WEQG6pBg=w300' width='120'/><br/>" +
226 "<p>Here is copy of your drawer report</p>" +
227 "<br/>",
228 attachments: [{path: data.image}]
229 };
230 var transporter = nodemailer.createTransport({
231 service: 'Gmail',
232 auth: {
233 user: 'no-reply@meeberpos.com',
234 pass: 'm33B3r01$05'
235 }
236 });
237
238 transporter.sendMail(mailOptions, function (error, info) {
239 if (error) {
240 return console.log(error);
241 }
242 console.log('Message sent: ' + info.response);
243 });
244 });
245
246
247 socket.on('email invoice', function (data) {
248 var mailOptions = {
249 from: 'Meeber POS Indonesia <meeber.pos@gmail.com>', // sender address
250 to: data.tenant.tenant_email, // list of receivers
251 subject: 'Meeber Team | Invoice ', // Subject line
252 html: "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#8d8e90'><tr><td><table width='600' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF' align='center'><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='205'><a href= 'http://meeberpos.com/' target='_blank'><img src='http://meeberpos.com/assets/meeberlogo.png' width='200' border='0' alt='' style='margin-top:10px'/></a></td><td width='393'><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td height='46'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:23px;'><strong>Fly your bussiness with us!</strong></a></font></td></tr><tr><td height='50'><font style='font-family:'Verdana', Geneva, sans-serif; color:#68696a; font-size:20px; text-transform:uppercase'><strong>#1 RESTO MANAGEMENT SYSTEM</strong></a></font></td></tr><tr><td height='10' style='background:#ED4249'></td></tr></table></td></tr></table></td></tr><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='10%'> </td>" +
253 "<td width='80%' align='left' valign='top'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#010101; font-size:24px'><strong><em>Hi " + data.tenant.tenant_username + ",</em></strong></font><br /><br />" +
254
255 "This is your Invoice detail, <br/><br/>" +
256 "<table style='width:100%;'>" +
257 "<thead>" +
258 "<tr>" +
259 "<th style='text-align: right;border-bottom: 5px solid silver;'> Package </th>" +
260 "<th style='text-align: right;border-bottom: 5px solid silver;'> Device </th>" +
261 "<th style='text-align: right;border-bottom: 5px solid silver;' colspan='2'> Period </th>" +
262 "<th style='text-align: right;border-bottom: 5px solid silver;'> Price per unit </th>" +
263 "<th style='text-align: right;border-bottom: 5px solid silver;'> Price Total </th>" +
264 "</tr>" +
265 "</thead>" +
266 "<tbody>" +
267 "<tr>" +
268 "<td style='text-align: right;'> " + data.invoice.detail_order.package.package_product + "</td>" +
269 "<td style='text-align: right;'> " + (data.invoice.detail_order.device.device_supplement + data.invoice.detail_order.device.device_free) + "</td>" +
270 "<td style='text-align: right;' colspan='2'>" + data.invoice.detail_order.period.period + " Months</td>" +
271 "<td style='text-align: right;'>Rp " + data.invoice.detail_order.package.package_price + " </td>" +
272 "<td style='text-align: right;'>Rp " + data.invoice.total_payment + " </td>" +
273 "</tr>" +
274 "</tbody>" +
275 "</table><br/><br/>" +
276
277 "<table style='width:100%;'>" +
278 "<tr>" +
279 "<td colspan='3'>Payment Invoice Number: <span style='color :red;'>" + data.invoice.id + "</span></td>" +
280 "</tr>" +
281 "<tr>" +
282 "<td colspan='3'>Transfer to BCA</td>" +
283 "</tr>" +
284 "<tr>" +
285 "<td>No Rekening</td>" +
286 "<td>:</td>" +
287 "<td>0886204200</td>" +
288 "</tr>" +
289 "<tr>" +
290 "<td>Atas Nama</td>" +
291 "<td>:</td>" +
292 "<td>PT Meeber Teknologi Indonesia </td>" +
293 "</tr>" +
294 "<tr>" +
295 "<td colspan='3'>Transfer to Mandiri</td>" +
296 "</tr>" +
297 "<tr>" +
298 "<td>No Rekening</td>" +
299 "<td>:</td>" +
300 "<td>1420014576606</td>" +
301 "</tr>" +
302 "<tr>" +
303 "<td>Atas Nama</td>" +
304 "<td>:</td>" +
305 "<td>PT Meeber Teknologi Indonesia </td>" +
306 "</tr>" +
307 "<tr>" +
308 "<td colspan='3' style='text-align: right;color:red;'>" +
309 "* Pilih salah satu rekening bank tujuan. setelah melakukan pembayaran mohon konfirmasi melalui web kami atau telp ke +628113344260." +
310 "</td>" +
311 "</tr>" +
312 "</table><br/>" +
313
314 "<td width='10%'> </td></tr><tr><td> </td><td align='right' valign='top'><table width='108' border='0' cellspacing='0' cellpadding='0'><tr><td height='10' align='center' valign='middle' bgcolor='#ffffff'> </td></tr><tr><td align='center' valign='middle' bgcolor='#ffffff'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:14px'><em></em></font></td></tr>" +
315 "<tr><td align='center' valign='middle' bgcolor='#f58220'><font style='font-family: Georgia, 'Times New Roman', Times, serif; color:#ffffff; font-size:15px'><strong></strong></font></td></tr><tr><td height='10' align='center' valign='middle' bgcolor='#ffffff'> </td></tr></table></td><td> </td></tr></table></td></tr><tr><td> </td></tr><tr><td> </td></tr><tr><td width='100%' height='7' style='background:#ED4249'></td></tr><tr><td> </td></tr>" +
316 "<tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='13%' align='center'> </td>" +
317
318
319 "<td width='14%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>UNSUBSCRIBE </strong></a></font></td>" +
320
321 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
322
323 "<td width='9%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>ABOUT </strong></a></font></td>" +
324
325 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
326
327 "<td width='10%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#about-us' style='color:#010203; text-decoration:none'><strong>PRESS </strong></a></font></td>" +
328
329 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
330
331 "<td width='11%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none'><strong>CONTACT </strong></a></font></td>" +
332
333 "<td width='2%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><strong>|</strong></font></td>" +
334
335 "<td width='17%' align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#010203; font-size:9px; text-transform:uppercase'><a target='_blank' href= 'http://meeberpos.com/#contact' style='color:#010203; text-decoration:none' ><strong>STAY CONNECTED</strong></a></font></td>" +
336
337 "<td width='4%' align='right'><a href='https://www.facebook.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_fb.png' alt='facebook' width='21' height='19' border='0' /></a></td>" +
338 "<td width='5%' align='center'><a href='https://twitter.com/meeberpos' target='_blank'><img src='http://meeberpos.com/assets/icon_twitter.png' alt='twitter' width='23' height='19' border='0' /></a></td>" +
339 "<td width='4%' align='right'><a href='http://www.linkedin.com//company/meeber-pos' target='_blank'><img src='http://meeberpos.com/assets/icon_linkedin.png' alt='linkedin' width='20' height='19' border='0' /></a></td>" +
340 "<td width='5%'> </td></tr></table></td></tr><tr><td> </td></tr><tr>" +
341 "<td align='center'><font style='font-family:'Myriad Pro', Helvetica, Arial, sans-serif; color:#231f20; font-size:8px'><strong>Meeber Teknologi Indonesia, PT, Ruko Panji Makmur B-19, Jalan Panjang Jiwo 46-49, Surabaya, Jawa Timur, Indonesia, 60299 | Tel: +62 31 99841788 | <a href= 'mailto:no-reply@meeberpos.com' style='color:#010203; text-decoration:none'>no-reply@meeberpos.com</a></strong></font></td></tr>" +
342 "<tr><td> </td></tr></table></td></tr></table>"
343 };
344
345 var transporter = nodemailer.createTransport({
346 service: 'Gmail',
347 auth: {
348 user: 'no-reply@meeberpos.com',
349 pass: 'm33B3r01$05'
350 }
351 });
352
353
354 // send mail with defined transport object
355 transporter.sendMail(mailOptions, function (error, info) {
356 if (error) {
357 return console.log(error);
358 }
359 console.log('Message sent: ' + info.response);
360
361 });
362 });
363
364
365 });
366 }
367});