gitea源码

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package sender
  4. import (
  5. "io"
  6. "code.gitea.io/gitea/modules/log"
  7. "code.gitea.io/gitea/modules/setting"
  8. )
  9. type Sender interface {
  10. Send(from string, to []string, msg io.WriterTo) error
  11. }
  12. var Send = send
  13. func send(sender Sender, msgs ...*Message) error {
  14. if setting.MailService == nil {
  15. log.Error("Mailer: Send is being invoked but mail service hasn't been initialized")
  16. return nil
  17. }
  18. for _, msg := range msgs {
  19. m := msg.ToMessage()
  20. froms := m.GetFrom()
  21. to, err := m.GetRecipients()
  22. if err != nil {
  23. return err
  24. }
  25. // TODO: implement sending from multiple addresses
  26. if err := sender.Send(froms[0].Address, to, m); err != nil {
  27. return err
  28. }
  29. }
  30. return nil
  31. }