aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/mailer.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/mailer.go')
-rw-r--r--cmd/mailer.go48
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
+}