golang 发送邮件
【代码】golang 发送邮件。
·
1.封装
package mailer
import (
"fmt"
"github.com/badoux/checkmail"
"go-boss/config"
"gopkg.in/gomail.v2"
)
func SendText(to string, subject string, body string) error {
// 检查电子邮件地址是否可用
err := checkmail.ValidateFormat(to)
if err != nil {
fmt.Printf("email address %s is not available: %s", to, err.Error())
return err
}
c := config.NewConfig()
host := c.Viper.Get("email.host").(string)
port := c.Viper.Get("email.port").(int)
username := c.Viper.Get("email.username").(string)
password := c.Viper.Get("email.password").(string)
// 创建消息
msg := gomail.NewMessage()
// 设置发件人
msg.SetHeader("From", username)
// 设置收件人
msg.SetHeader("To", to)
// 设置主题
msg.SetHeader("Subject", subject)
// 设置正文
msg.SetBody("text/html", body)
d := gomail.NewDialer(host, port, username, password)
if err := d.DialAndSend(msg); err != nil {
return err
}
return nil
}
2. 调用
func testEmail() {
to := "xx@qq.com"
subject := "test gmail"
body := `<p style="color:red;">This is a email with gmail!</p>`
// 发送邮件
err := mailer.SendText(to, subject, body)
if err != nil {
println(err.Error())
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)