@@ -10,6 +10,46 @@ aws.config.region = process.env.region;
1010
1111const ses = new aws . SES ( ) ;
1212
13+ // sends an email to the org email when an error occurs
14+ mailerObj . sendErrorEmail = async function ( err ) {
15+ const siteType = process . env . NODE_ENV == 'prod' ? 'Production' : 'Dev' ;
16+
17+ let content = '<p><b>Error:</b> ' + err + '</p>' ;
18+ content = content . replace ( / " / g, "'" ) . replace ( / (?: \r \n | \r | \n ) / g, '<br>' ) ; // make content string safe for template data
19+ content = content . replace ( / \\ / g, '/' ) ;
20+
21+ const params = {
22+ Destination : {
23+ BccAddresses : [ ] ,
24+ ToAddresses :
[ '[email protected] ' ] , 25+ } ,
26+ Source :
'Aggie Web Developers <[email protected] >' , 27+ Template : 'AWD-Error-Email' ,
28+ TemplateData :
29+ '{ "Subject": "ERROR: AWD SITE - ' +
30+ siteType +
31+ '", "content": "' +
32+ content +
33+ '"}' ,
34+ ReplyToAddresses :
[ '[email protected] ' ] , 35+ } ;
36+
37+ const sendPromise = new aws . SES ( { apiVersion : '2010-12-01' } )
38+ . sendTemplatedEmail ( params )
39+ . promise ( ) ;
40+
41+ return new Promise ( ( resolve , reject ) => {
42+ sendPromise
43+ . then ( async function ( data ) {
44+ resolve ( 'Success' ) ;
45+ } )
46+ . catch ( function ( err ) {
47+ console . log ( err ) ;
48+ resolve ( 'Error' ) ;
49+ } ) ;
50+ } ) ;
51+ } ;
52+
1353mailerObj . sendContactUsEmailGen = async function ( formData ) {
1454 let content = '<p><b>Name:</b> ' + formData . txtNameGen + '</p>' ;
1555 content += '<p><b>Email:</b> ' + formData . txtEmailGen + '</p>' ;
@@ -42,6 +82,7 @@ mailerObj.sendContactUsEmailGen = async function (formData) {
4282 resolve ( 'Success' ) ;
4383 } )
4484 . catch ( function ( err ) {
85+ console . error ( err ) ;
4586 resolve ( 'Error' ) ;
4687 } ) ;
4788 } ) ;
@@ -80,6 +121,7 @@ mailerObj.sendContactUsEmailCorp = async function (formData) {
80121 resolve ( 'Success' ) ;
81122 } )
82123 . catch ( function ( err ) {
124+ console . error ( err ) ;
83125 resolve ( 'Error' ) ;
84126 } ) ;
85127 } ) ;
@@ -240,6 +282,7 @@ async function attemptSend(email, sendList) {
240282 resolve ( true ) ;
241283 } )
242284 . catch ( ( err ) => {
285+ console . error ( err ) ;
243286 resolve ( false ) ;
244287 } ) ;
245288 } ) ;
@@ -270,7 +313,7 @@ async function sendBulkMail(email, recips) {
270313 else resolve ( 'Success' ) ;
271314 } )
272315 . catch ( function ( err ) {
273- console . log ( err ) ;
316+ console . error ( err ) ;
274317 reject ( new Error ( err ) ) ;
275318 } ) ;
276319 } ) ;
@@ -293,6 +336,7 @@ mailerObj.listenForScheduledEmails = function () {
293336 } ) ;
294337 } )
295338 . catch ( ( err ) => {
339+ console . error ( err ) ;
296340 console . log ( 'Error sending scheduled emails.' ) ;
297341 } ) ;
298342 } ) ;
@@ -310,6 +354,7 @@ function getEmailById(id) {
310354 resolve ( result . recordset [ 0 ] ) ;
311355 } )
312356 . catch ( ( err ) => {
357+ console . error ( err ) ;
313358 resolve ( 'Error' ) ;
314359 } ) ;
315360 } ) ;
@@ -325,7 +370,7 @@ function getGeneralRecipeints() {
325370 resolve ( result . recordset ) ;
326371 } )
327372 . catch ( ( err ) => {
328- console . log ( err ) ;
373+ console . error ( err ) ;
329374 resolve ( 'Error' ) ;
330375 } ) ;
331376 } ) ;
@@ -341,6 +386,7 @@ function getCorporateRecipeints() {
341386 resolve ( result . recordset ) ;
342387 } )
343388 . catch ( ( err ) => {
389+ console . error ( err ) ;
344390 resolve ( 'Error' ) ;
345391 } ) ;
346392 } ) ;
@@ -355,6 +401,7 @@ function markEmailSent(id) {
355401 resolve ( true ) ;
356402 } )
357403 . catch ( ( err ) => {
404+ console . error ( err ) ;
358405 resolve ( false ) ;
359406 } ) ;
360407 } ) ;
0 commit comments