golang发邮件

package main

import (
	"crypto/tls"
	"fmt"

	"gopkg.in/gomail.v2"
)

func main() {
	test1()
}

func test1() {
	message := `
    <p> Hello %s,</p>
		<p style="text-indent:2em">测试测试测试测试.</p> 
		<p style="text-indent:2em">测试11111</p>
	`

	// QQ 邮箱:
	// SMTP 服务器地址:smtp.qq.com(SSL协议端口:465/994 | 非SSL协议端口:25)
	// 163 邮箱:
	// SMTP 服务器地址:smtp.163.com(端口:25)
	host := "xxxxx"
	port := 25
	userName := "xxxx" // 有些油箱登入名不是邮箱地址
	password := "xxxx"

	fromemail := "xx@xx.com"

	m := gomail.NewMessage()
	m.SetHeader("From", fromemail) // 发件人
	// m.SetHeader("From", "alias"+"<"+userName+">") // 增加发件人别名

	// 多个收件人形式
	// mailTo := []string{
	// 	"******@qq.com",
	// 	"******@qq.com",
	// }
	// m.SetHeader("To", mailTo...)

	m.SetHeader("To", "xxxxx@qq.com") // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接

    // 多个同上
	// m.SetHeader("Cc", "******@qq.com")                  // 抄送,可以多个
	// m.SetHeader("Bcc", "******@qq.com")                 // 暗送,可以多个
	m.SetHeader("Subject", "发送测试11111") // 邮件主题

	// text/html 的意思是将文件的 content-type 设置为 text/html 的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
	// 可以通过 text/html 处理文本格式进行特殊处理,如换行、缩进、加粗等等
	m.SetBody("text/html", fmt.Sprintf(message, "测试"))

	// text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理
	// m.SetBody("text/plain", "纯文本")
	// m.Attach("test.sh")   // 附件文件,可以是文件,照片,视频等等
	// m.Attach("lolcatVideo.mp4") // 视频
	// m.Attach("lolcat.jpg") // 照片

	d := gomail.NewDialer(
		host,
		port,
		userName,
		password,
	)
	// 关闭SSL协议认证
	d.TLSConfig = &tls.Config{InsecureSkipVerify: true}

	if err := d.DialAndSend(m); err != nil {
		panic(err)
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值