【新增】代码优化

This commit is contained in:
PandaGoAdmin
2022-01-17 17:12:33 +08:00
parent 6af74ab1ba
commit 692e383f3e
10 changed files with 96 additions and 24 deletions

View File

@@ -2,7 +2,6 @@ package email
import (
"crypto/tls"
"errors"
"fmt"
"net/smtp"
"strings"
@@ -19,14 +18,9 @@ type Mail struct {
IsSSL bool `json:"isSsl"` // 是否开启ssl
}
const (
TEXTTYPE = "TEXT"
HTMLTYPE = "HTML"
)
func (m Mail) Email(to, ty, subject string, body string) error {
func (m Mail) Email(to, subject string, body string) error {
tos := strings.Split(to, ",")
return m.send(tos, ty, subject, body)
return m.send(tos, subject, body)
}
//@function: ErrorToEmail
@@ -34,12 +28,12 @@ func (m Mail) Email(to, ty, subject string, body string) error {
//@param: subject string, body string
//@return: error
func (m Mail) ErrorToEmail(to, ty, subject string, body string) error {
func (m Mail) ErrorToEmail(to, subject string, body string) error {
tos := strings.Split(to, ",")
if tos[len(to)-1] == "" { // 判断切片的最后一个元素是否为空,为空则移除
tos = tos[:len(tos)-1]
}
return m.send(tos, ty, subject, body)
return m.send(tos, subject, body)
}
//@function: send
@@ -47,7 +41,7 @@ func (m Mail) ErrorToEmail(to, ty, subject string, body string) error {
//@param: subject string, body string
//@return: error
func (m Mail) send(to []string, ty, subject string, body string) error {
func (m Mail) send(to []string, subject string, body string) error {
auth := smtp.PlainAuth("", m.From, m.Secret, m.Host)
e := email.NewEmail()
@@ -58,14 +52,6 @@ func (m Mail) send(to []string, ty, subject string, body string) error {
}
e.To = to
e.Subject = subject
if ty == TEXTTYPE {
e.Text = []byte(body)
} else if ty == HTMLTYPE {
e.HTML = []byte(body)
} else {
errors.New("邮件类型不正确")
}
e.HTML = []byte(body)
var err error
hostAddr := fmt.Sprintf("%s:%d", m.Host, m.Port)

23
base/mail/mail_test.go Normal file
View File

@@ -0,0 +1,23 @@
package email
import "testing"
/**
* @Description 添加qq群467890197 交流学习
* @Author 熊猫
* @Date 2022/1/17 10:35
**/
func TestMail_Email(t *testing.T) {
ma := Mail{
Host: "smtp.163.com",
Port: 25,
From: "18610165312@163.com",
Nickname: "panda",
Secret: "DCXZCAGTCMSEGPZL",
IsSSL: false,
}
email := ma.Email("18353366911@163.com", "ceshi", "ceshibody")
t.Log(email)
}