You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mailer.go 1009B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package cmd
  4. import (
  5. "fmt"
  6. "net/http"
  7. "code.gitea.io/gitea/modules/private"
  8. "code.gitea.io/gitea/modules/setting"
  9. "github.com/urfave/cli"
  10. )
  11. func runSendMail(c *cli.Context) error {
  12. ctx, cancel := installSignals()
  13. defer cancel()
  14. setting.LoadFromExisting()
  15. if err := argsSet(c, "title"); err != nil {
  16. return err
  17. }
  18. subject := c.String("title")
  19. confirmSkiped := c.Bool("force")
  20. body := c.String("content")
  21. if !confirmSkiped {
  22. if len(body) == 0 {
  23. fmt.Print("warning: Content is empty")
  24. }
  25. fmt.Print("Proceed with sending email? [Y/n] ")
  26. isConfirmed, err := confirm()
  27. if err != nil {
  28. return err
  29. } else if !isConfirmed {
  30. fmt.Println("The mail was not sent")
  31. return nil
  32. }
  33. }
  34. status, message := private.SendEmail(ctx, subject, body, nil)
  35. if status != http.StatusOK {
  36. fmt.Printf("error: %s\n", message)
  37. return nil
  38. }
  39. fmt.Printf("Success: %s\n", message)
  40. return nil
  41. }