Skip to content

Commit cd80c51

Browse files
author
Qi Xiao
committed
Use fancy email report style
1 parent a981c40 commit cd80c51

File tree

4 files changed

+846
-8
lines changed

4 files changed

+846
-8
lines changed

cmd/server/main.go

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ const (
5858
contentTypeHTML = "text/html"
5959
contentTypePDF = "application/pdf"
6060

61-
mailSubjectPrefix = `CookieScan report for `
62-
mailContentTemplate = `Your report for site %s is generated, please see the PDF attachment.`
61+
mailSubject = `Your CookieScan Report is Ready`
6362
)
6463

6564
var (
@@ -271,13 +270,20 @@ func asyncEmailReport(opts *cmd.CommonOptions, site string, mailTo string) {
271270
}).WithError(err).Error("generate pdf report failed")
272271
return
273272
}
273+
emailContent, err := t.FormatEmail()
274+
if err != nil {
275+
logrus.WithFields(logrus.Fields{
276+
"site": site,
277+
"to": mailTo,
278+
}).WithError(err).Error("generate email content failed")
279+
}
274280

275281
d := gomail.NewPlainDialer(mailServer, mailPort, mailUser, mailPassword)
276282
m := gomail.NewMessage()
277283
m.SetHeader("From", mailFrom)
278284
m.SetAddressHeader("To", mailTo, mailTo)
279-
m.SetHeader("Subject", mailSubjectPrefix+site)
280-
m.SetBody("text/html", fmt.Sprintf(mailContentTemplate, site))
285+
m.SetHeader("Subject", mailSubject)
286+
m.SetBody("text/html", emailContent)
281287
m.Attach(tempPDF, gomail.SetHeader(map[string][]string{"Content-Type": {contentTypePDF}}))
282288

283289
defer m.Reset()
@@ -455,13 +461,18 @@ func analyzeFunc(opts *cmd.CommonOptions) http.HandlerFunc {
455461
sendResponse(http.StatusInternalServerError, false, err, nil, rw)
456462
return
457463
}
464+
emailContent, err := t.FormatEmail()
465+
if err != nil {
466+
sendResponse(http.StatusInternalServerError, false, err, nil, rw)
467+
return
468+
}
458469

459470
d := gomail.NewPlainDialer(mailServer, mailPort, mailUser, mailPassword)
460471
m := gomail.NewMessage()
461472
m.SetHeader("From", mailFrom)
462473
m.SetAddressHeader("To", mailTo, mailTo)
463-
m.SetHeader("Subject", mailSubjectPrefix+site)
464-
m.SetBody("text/html", fmt.Sprintf(mailContentTemplate, site))
474+
m.SetHeader("Subject", mailSubject)
475+
m.SetBody("text/html", emailContent)
465476
m.Attach(tempPDF, gomail.SetHeader(map[string][]string{"Content-Type": {contentTypePDF}}))
466477

467478
defer m.Reset()

0 commit comments

Comments
 (0)