This commit is contained in:
teddy
2025-04-21 11:58:12 +07:00
parent 4bfb6b4861
commit a69b44625e
7 changed files with 185 additions and 10 deletions

View File

@@ -199,6 +199,56 @@ func Route(db *gorm.DB) {
w.Write([]byte("success"))
}))
http.HandleFunc("/send-email", middleware.ResponseTimeMiddleware(func(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
return
}
sessionID := helper.GenerateSessionID()
module := "SEND EMAIL"
request := new(model.SendEmailRequest)
err := helper.ParseRequest(r, request)
if err != nil {
w.WriteHeader(500)
w.Write([]byte("system error"))
return
}
err = helper.ValidateRequest(request)
if err != nil {
w.WriteHeader(400)
w.Write([]byte(err.Error()))
return
}
subject := request.Subject
sendTo := request.To
type Data struct {
Message string
}
data := Data{Message: request.Message}
htmlString := helper.ParseHTML("template/general.html", data)
go func() {
log.Printf("%+v %+v SENDING EMAIL TO %+v", sessionID, module, sendTo)
err := helper.SendEmail(sendTo, request.CC, "", subject, "", htmlString)
if err != nil {
log.Printf("%+v %+v response %+v", sessionID, module, err.Error())
} else {
log.Printf("%+v %+v EMAIL SENT TO %+v", sessionID, module, sendTo)
}
}()
log.Printf("%+v %+v response %+v", sessionID, module, "success")
w.Write([]byte("success"))
}))
http.Handle("/", middleware.ResponseTimeMiddleware(func(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)