mirror of
https://github.com/go-gitea/gitea.git
synced 2024-12-24 23:39:58 +08:00
5ab7aa700f
Resolve #18664
39 lines
778 B
Go
39 lines
778 B
Go
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package sender
|
|
|
|
import (
|
|
"io"
|
|
|
|
"code.gitea.io/gitea/modules/log"
|
|
"code.gitea.io/gitea/modules/setting"
|
|
)
|
|
|
|
type Sender interface {
|
|
Send(from string, to []string, msg io.WriterTo) error
|
|
}
|
|
|
|
var Send = send
|
|
|
|
func send(sender Sender, msgs ...*Message) error {
|
|
if setting.MailService == nil {
|
|
log.Error("Mailer: Send is being invoked but mail service hasn't been initialized")
|
|
return nil
|
|
}
|
|
for _, msg := range msgs {
|
|
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 nil
|
|
}
|