diff options
Diffstat (limited to 'cmd/mailer.go')
-rw-r--r-- | cmd/mailer.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cmd/mailer.go b/cmd/mailer.go new file mode 100644 index 0000000000..a9a9048a5e --- /dev/null +++ b/cmd/mailer.go @@ -0,0 +1,48 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package cmd + +import ( + "fmt" + "net/http" + + "code.gitea.io/gitea/modules/private" + "github.com/urfave/cli" +) + +func runSendMail(c *cli.Context) error { + if err := argsSet(c, "title"); err != nil { + return err + } + + subject := c.String("title") + confirmSkiped := c.Bool("force") + body := c.String("content") + + if !confirmSkiped { + if len(body) == 0 { + fmt.Print("warning: Content is empty") + } + + fmt.Print("Proceed with sending email? [Y/n] ") + isConfirmed, err := confirm() + if err != nil { + return err + } else if !isConfirmed { + fmt.Println("The mail was not sent") + return nil + } + } + + status, message := private.SendEmail(subject, body, nil) + if status != http.StatusOK { + fmt.Printf("error: %s", message) + return nil + } + + fmt.Printf("Succseded: %s", message) + + return nil +} |