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:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user