diff --git a/docker/.env b/docker/.env index 586f8481..6b17eb10 100644 --- a/docker/.env +++ b/docker/.env @@ -309,6 +309,7 @@ MF_SMTP_NOTIFIER_DB_USER=mainflux MF_SMTP_NOTIFIER_DB_PASS=mainflux MF_SMTP_NOTIFIER_DB=subscriptions MF_SMTP_NOTIFIER_TEMPLATE=smtp-notifier.tmpl +MF_SMTP_NOTIFIER_FROM_ADDR=from@example.com ### SMPP Notifier diff --git a/docker/addons/smtp-notifier/docker-compose.yml b/docker/addons/smtp-notifier/docker-compose.yml index 0d65668b..8da313a2 100644 --- a/docker/addons/smtp-notifier/docker-compose.yml +++ b/docker/addons/smtp-notifier/docker-compose.yml @@ -55,6 +55,7 @@ services: MF_EMAIL_FROM_NAME: ${MF_EMAIL_FROM_NAME} MF_EMAIL_TEMPLATE: ${MF_EMAIL_TEMPLATE} MF_SMTP_NOTIFIER_TEMPLATE: ${MF_SMTP_NOTIFIER_TEMPLATE} + MF_SMTP_NOTIFIER_FROM_ADDR: ${MF_SMTP_NOTIFIER_FROM_ADDR} ports: - ${MF_SMTP_NOTIFIER_PORT}:${MF_SMTP_NOTIFIER_PORT} networks: diff --git a/docker/templates/smtp-notifier.tmpl b/docker/templates/smtp-notifier.tmpl index 516d6b34..64caa944 100644 --- a/docker/templates/smtp-notifier.tmpl +++ b/docker/templates/smtp-notifier.tmpl @@ -1,4 +1,4 @@ -To: {{.To}} +To: {{range $index, $v := .To}}{{if $index}},{{end}}{{$v}}{{end}} From: {{.From}} Subject: {{.Subject}} {{.Header}} diff --git a/docker/templates/users.tmpl b/docker/templates/users.tmpl index 9725d003..9ac08572 100644 --- a/docker/templates/users.tmpl +++ b/docker/templates/users.tmpl @@ -1,4 +1,4 @@ -To: {{.To}} +To: {{range $index, $v := .To}}{{if $index}},{{end}}{{$v}}{{end}} From: {{.From}} Subject: {{.Subject}} {{.Header}} diff --git a/internal/email/email.go b/internal/email/email.go index 6264b106..e322f95d 100644 --- a/internal/email/email.go +++ b/internal/email/email.go @@ -6,8 +6,9 @@ package email import ( "bytes" "fmt" - "html/template" + "net/mail" "net/smtp" + "text/template" "github.com/mainflux/mainflux/logger" "github.com/mainflux/mainflux/pkg/errors" @@ -89,7 +90,8 @@ func (a *Agent) Send(To []string, From, Subject, Header, Content, Footer string) Footer: Footer, } if From == "" { - tmpl.From = a.conf.FromName + from := mail.Address{Name: a.conf.FromName, Address: a.conf.FromAddress} + tmpl.From = from.String() } if err := a.tmpl.Execute(email, tmpl); err != nil {