diff --git a/common/email/api.go b/common/email/api.go index 2789ab2..cfb4b82 100644 --- a/common/email/api.go +++ b/common/email/api.go @@ -4,6 +4,7 @@ import ( "github.com/wneessen/go-mail" "encoding/json" "context" + "log" "github.com/redis/go-redis/v9" ) @@ -57,6 +58,9 @@ func (router *Router) DeliverEmail(msg EmailMessage) error { email_msg.SetBodyString(mail.TypeTextPlain, msg.Text) email_msg.SetBodyString(mail.TypeTextHTML, msg.HTML) + email_msg.SetGenHeader(mail.HeaderXMailer, "nunya-business") + email_msg.SetGenHeader(mail.HeaderUserAgent, "nunya-business") + if err != nil { return err } err = router.smtp_client.DialAndSendWithContext(router.ctx, email_msg) @@ -98,3 +102,18 @@ func (sender *Sender) QueueEmail(msg EmailMessage) error { return nil } +func OneShotSend(msg EmailMessage) { + ctx := context.Background() + + sender := NewSender(ctx, Config{ + RedisHostPort: "127.0.0.1:6379", + }) + defer sender.Close() + + err := sender.QueueEmail(msg) + + if err != nil { + log.Print(err) + } +} + diff --git a/features/email/api.go b/features/email/api.go index 166012f..b1c783d 100644 --- a/features/email/api.go +++ b/features/email/api.go @@ -2,29 +2,18 @@ package features_email import ( email "MY/webapp/common/email" - "context" "github.com/gofiber/fiber/v2" - . "MY/webapp/common" ) -func PostApiEmailSend(c *fiber.Ctx) error { - ctx := context.Background() - msg := email.EmailMessage{ +func PostApiEmailSend(c *fiber.Ctx) error { + go email.OneShotSend(email.EmailMessage{ To: c.FormValue("To"), From: c.FormValue("From"), Subject: c.FormValue("Subject"), Text: c.FormValue("Message"), HTML: c.FormValue("Message"), - } - - sender := email.NewSender(ctx, email.Config{ - RedisHostPort: "127.0.0.1:6379", }) - defer sender.Close() - - err := sender.QueueEmail(msg) - if err != nil { return IfErrNil(err, c) } return c.Redirect("/email/") }