浏览代码

Remove redundant SMTP LOGIN auth implementation

Kailash Nadh 5 年之前
父节点
当前提交
abddcb9a03
共有 1 个文件被更改,包括 1 次插入28 次删除
  1. 1 28
      internal/messenger/emailer.go

+ 1 - 28
internal/messenger/emailer.go

@@ -1,7 +1,6 @@
 package messenger
 
 import (
-	"errors"
 	"fmt"
 	"math/rand"
 	"net/smtp"
@@ -12,12 +11,6 @@ import (
 
 const emName = "email"
 
-// loginAuth is used for enabling SMTP "LOGIN" auth.
-type loginAuth struct {
-	username string
-	password string
-}
-
 // Server represents an SMTP server's credentials.
 type Server struct {
 	Name         string
@@ -56,7 +49,7 @@ func NewEmailer(srv ...Server) (*Emailer, error) {
 		case "plain":
 			auth = smtp.PlainAuth("", s.Username, s.Password, s.Host)
 		case "login":
-			auth = &loginAuth{username: s.Username, password: s.Password}
+			auth = &smtppool.LoginAuth{Username: s.Username, Password: s.Password}
 		case "":
 		default:
 			return nil, fmt.Errorf("unknown SMTP auth type '%s'", s.AuthProtocol)
@@ -139,23 +132,3 @@ func (e *Emailer) Push(fromAddr string, toAddr []string, subject string, m []byt
 func (e *Emailer) Flush() error {
 	return nil
 }
-
-// https://gist.github.com/andelf/5118732
-// Adds support for SMTP LOGIN auth.
-func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) {
-	return "LOGIN", []byte{}, nil
-}
-
-func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {
-	if more {
-		switch string(fromServer) {
-		case "Username:":
-			return []byte(a.username), nil
-		case "Password:":
-			return []byte(a.password), nil
-		default:
-			return nil, errors.New("unkown SMTP fromServer")
-		}
-	}
-	return nil, nil
-}