commit f9d8de3d78494d03f780ade872b2b2f2556a6dca Author: 李光春 Date: Thu May 26 23:59:47 2022 +0800 - init diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..c56c479 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,17 @@ +kind: pipeline +type: docker +name: clone + +steps: + - name: Test + image: golang:1.18 + commands: + - go env -w GO111MODULE=on + - go env -w GOPROXY=https://goproxy.cn,direct + - go test -v ./... + - name: Benchmark + image: golang:1.18 + commands: + - go env -w GO111MODULE=on + - go env -w GOPROXY=https://goproxy.cn,direct + - go test -bench=. -benchmem \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4794692 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.env +.git +.svn +.idea +.vscode +*.log +goinit.sh +gomod.sh +/vendor/ \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..9a28303 --- /dev/null +++ b/go.mod @@ -0,0 +1,7 @@ +module go.dtapp.net/gomail + +go 1.18 + +require gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df + +require gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b530e33 --- /dev/null +++ b/go.sum @@ -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= diff --git a/gomail.go b/gomail.go new file mode 100644 index 0000000..2ae160f --- /dev/null +++ b/gomail.go @@ -0,0 +1,43 @@ +package gomail + +import ( + "fmt" + mailV2 "gopkg.in/gomail.v2" + "strings" +) + +type Options struct { + MailHost string + MailPort int + MailUser string // 发件人 + MailPass string // 发件人密码 + MailTo string // 收件人 多个用,分割 + Subject string // 邮件主题 + Body string // 邮件内容 +} + +func Send(o *Options) error { + + m := mailV2.NewMessage() + + //设置发件人 + m.SetHeader("From", o.MailUser) + + //设置发送给多个用户 + mailArrTo := strings.Split(o.MailTo, ",") + m.SetHeader("To", mailArrTo...) + + //设置邮件主题 + m.SetHeader("Subject", o.Subject) + + //设置邮件正文 + m.SetBody("text/html", o.Body) + + d := mailV2.NewDialer(o.MailHost, o.MailPort, o.MailUser, o.MailPass) + + err := d.DialAndSend(m) + if err != nil { + fmt.Println(err) + } + return err +} diff --git a/version.go b/version.go new file mode 100644 index 0000000..376174f --- /dev/null +++ b/version.go @@ -0,0 +1,3 @@ +package gomail + +const Version = "1.0.0" diff --git a/version_test.go b/version_test.go new file mode 100644 index 0000000..5d6595b --- /dev/null +++ b/version_test.go @@ -0,0 +1,7 @@ +package gomail + +import "testing" + +func TestVersion(t *testing.T) { + t.Log(Version) +}