master v1.0.0
kanade 4 years ago
commit 49090d766a

@ -0,0 +1 @@
# 邮件发送工具

@ -0,0 +1,42 @@
package email
import (
"encoding/base64"
"gopkg.in/gomail.v2"
"path/filepath"
)
var Email = &email{}
type email struct {
dialer *gomail.Dialer
mail string
}
type Attachment struct {
Name string
Path string
}
// InitEmail 初始化配置
func InitEmail(smtp string, port int, user, pass, mail string) *email {
Email.dialer = gomail.NewDialer(smtp, port, user, pass)
Email.mail = mail
return Email
}
// Send @Title 发送邮件
func (e *email) Send(email, subject, body string, attachments []Attachment) error {
message := gomail.NewMessage()
message.SetHeader("From", e.mail)
message.SetHeader("To", email)
message.SetHeader("Subject", subject)
message.SetBody("text/html", body)
for _, attachment := range attachments {
ext := filepath.Ext(attachment.Path)
message.Attach(attachment.Path, gomail.Rename("=?utf-8?B?"+base64.StdEncoding.EncodeToString([]byte(attachment.Name+ext))+"?="))
}
if err := e.dialer.DialAndSend(message); err != nil {
return err
}
return nil
}

@ -0,0 +1,8 @@
module git.oa00.com/go/email
go 1.16
require (
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
)

@ -0,0 +1,4 @@
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
Loading…
Cancel
Save