1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Use new mail package instead of an unmintained one (#32682)

Resolve #18664
This commit is contained in:
Lunny Xiao
2024-12-04 14:33:43 -08:00
committed by GitHub
parent 4142397b0b
commit 5ab7aa700f
11 changed files with 133 additions and 71 deletions

View File

@@ -4,13 +4,15 @@
package sender
import (
"io"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"gopkg.in/gomail.v2"
)
type Sender gomail.Sender
type Sender interface {
Send(from string, to []string, msg io.WriterTo) error
}
var Send = send
@@ -19,9 +21,18 @@ func send(sender Sender, msgs ...*Message) error {
log.Error("Mailer: Send is being invoked but mail service hasn't been initialized")
return nil
}
goMsgs := []*gomail.Message{}
for _, msg := range msgs {
goMsgs = append(goMsgs, msg.ToMessage())
m := msg.ToMessage()
froms := m.GetFrom()
to, err := m.GetRecipients()
if err != nil {
return err
}
// TODO: implement sending from multiple addresses
if err := sender.Send(froms[0].Address, to, m); err != nil {
return err
}
}
return gomail.Send(sender, goMsgs...)
return nil
}