aboutsummaryrefslogtreecommitdiff
path: root/modules/log/smtp.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/log/smtp.go')
-rw-r--r--modules/log/smtp.go87
1 files changed, 0 insertions, 87 deletions
diff --git a/modules/log/smtp.go b/modules/log/smtp.go
deleted file mode 100644
index 0a10e56a..00000000
--- a/modules/log/smtp.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2014 The Gogs 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 log
-
-import (
- "encoding/json"
- "fmt"
- "net/smtp"
- "strings"
- "time"
-)
-
-const (
- subjectPhrase = "Diagnostic message from server"
-)
-
-// smtpWriter implements LoggerInterface and is used to send emails via given SMTP-server.
-type SmtpWriter struct {
- Username string `json:"Username"`
- Password string `json:"password"`
- Host string `json:"Host"`
- Subject string `json:"subject"`
- RecipientAddresses []string `json:"sendTos"`
- Level int `json:"level"`
-}
-
-// create smtp writer.
-func NewSmtpWriter() LoggerInterface {
- return &SmtpWriter{Level: TRACE}
-}
-
-// init smtp writer with json config.
-// config like:
-// {
-// "Username":"example@gmail.com",
-// "password:"password",
-// "host":"smtp.gmail.com:465",
-// "subject":"email title",
-// "sendTos":["email1","email2"],
-// "level":LevelError
-// }
-func (sw *SmtpWriter) Init(jsonconfig string) error {
- return json.Unmarshal([]byte(jsonconfig), sw)
-}
-
-// write message in smtp writer.
-// it will send an email with subject and only this message.
-func (s *SmtpWriter) WriteMsg(msg string, skip, level int) error {
- if level < s.Level {
- return nil
- }
-
- hp := strings.Split(s.Host, ":")
-
- // Set up authentication information.
- auth := smtp.PlainAuth(
- "",
- s.Username,
- s.Password,
- hp[0],
- )
- // Connect to the server, authenticate, set the sender and recipient,
- // and send the email all in one step.
- content_type := "Content-Type: text/plain" + "; charset=UTF-8"
- mailmsg := []byte("To: " + strings.Join(s.RecipientAddresses, ";") + "\r\nFrom: " + s.Username + "<" + s.Username +
- ">\r\nSubject: " + s.Subject + "\r\n" + content_type + "\r\n\r\n" + fmt.Sprintf(".%s", time.Now().Format("2006-01-02 15:04:05")) + msg)
-
- return smtp.SendMail(
- s.Host,
- auth,
- s.Username,
- s.RecipientAddresses,
- mailmsg,
- )
-}
-
-func (_ *SmtpWriter) Flush() {
-}
-
-func (_ *SmtpWriter) Destroy() {
-}
-
-func init() {
- Register("smtp", NewSmtpWriter)
-}