go 发送邮件功能

上一篇 go-zero 数字图形验证码功能 之后,接下来我们要开发一个发送邮件的功能。

框架还是go-zero,好吧,我们开始撸!

1、引包:我们用到的是这个包(github.com/jordan-wright/email

github.com/jordan-wright/email

2、新建一个邮件发送的工具:新建一个utils文件加,然后创建mail.go文件

直接撸代码:我用的是163邮箱,开干之前。需要在邮箱进行配置。具体步骤百度一下或者联系我沟通。

package utils

import (
	"crypto/tls"
	"fmt"
	"net/smtp"
	"strings"

	"github.com/jordan-wright/email"
)

func Email(To, subject string, body string) error {
	to := strings.Split(To, ",")
	return send(to, subject, body)
}

func send(to []string, subject string, body string) error {
	from := "这里是发件人邮箱地址,需要自己配置"
	nickname := "这里是名称"
	secret := "秘钥"
	host := "smtp.163.com"
	port := 465
	isSSL := true

	auth := smtp.PlainAuth("", from, secret, host)
	e := email.NewEmail()
	if nickname != "" {
		e.From = fmt.Sprintf("%s <%s>", nickname, from)
	} else {
		e.From = from
	}
	e.To = to
	e.Subject = subject
	e.HTML = []byte(body)
	var err error
	hostAddr := fmt.Sprintf("%s:%d", host, port)
	if isSSL {
		err = e.SendWithTLS(hostAddr, auth, &tls.Config{ServerName: host})
	} else {
		err = e.Send(hostAddr, auth)
	}
	return err
}


OK,工具方法已经好了。

我们开始引用:

utils.Email(in.Email, "xxx", "您好,欢迎加入xxxxx!邮箱已发送,祝您使用愉快!")


点赞1
点击评论0
收藏1
浏览 67
 

还没有评论,快来发表第一个评论吧

免责声明:凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,注册用户和一般页面游览者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)
*尊重作者,转载请注明出处!

创作内容

开启你的爱凌峰创作之旅

发布首篇内容,开通创作中心
快来成为爱凌峰创作者吧~

写文章

板块热门【Golang】