欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

golang如何发送邮件

程序员文章站 2024-03-03 20:13:16
...

邮件的收发不介绍了,直接上代码了

package main

import (
    "gopkg.in/gomail.v2"
)

func main() {
    m := gomail.NewMessage()

    m.SetHeader("From", "aaa@qq.com")
    m.SetHeader("To", "aaa@qq.com")
    //m.SetAddressHeader("Cc", "aaa@qq.com", "Dan")
    m.SetHeader("Subject", "Hello!")
    m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
    //m.Attach("/home/Alex/lolcat.jpg")

    d := gomail.NewDialer("smtp.qq.com", 587, "aaa@qq.com", "okbnsnqptzjzfigd")

    // Send the email to Bob, Cora and Dan.
    if err := d.DialAndSend(m); err != nil {
        panic(err)
    }
}

唯一踩到的坑就是password了
对代码种的xxxx和yyyyy账户替换成发送方和接收方后,箭头指向并不是你的登陆密码,而是授权码
golang如何发送邮件

使用自定义客户端发放邮件需要以下两个要素:
1. 发送方的右键必须开启stmt和pop3通道,以qq邮箱为例,登陆qq邮箱->设置-账户->开启pop3和stmt服务
2. 开启后会获得该账户的授权码,无需记着,可以通过临时生成.(但好像是长期有效的,建议还是记录一下~)
golang如何发送邮件
golang如何发送邮件
golang如何发送邮件

有疑惑评论说,不同的右键服务器的smtp和pop3的地址和端口可能会不同,具体的可以百度查

相关标签: go