Go语言通过smtp发送邮件的方法

2018-09-24 21:25

阅读:529

  本文实例讲述了Go语言通过smtp发送邮件的方法。分享给大家供大家参考。具体实现方法如下:

  复制代码 代码如下:package main
import (
net/smtp
fmt
strings
)

  /*
*password: xxxxx login smtp server password
* subject:The subject of mail
* body: The content of mail
* mailtyoe: mail type html or text
*/

  
func SendMail(user, password, host, to, subject, body, mailtype string) error{
hp := strings.Split(host, :)
auth := smtp.PlainAuth(, user, password, hp[0])
var content_type string
if mailtype == html {
content_type = Content-Type: text/+ mailtype + ; charset=UTF-8
}else{
content_type = Content-Type: text/plain + ; charset=UTF-8
}

  msg := []byte(To: + to + \r\nFrom: + user + <+ user +>\r\nSubject: + subject + \r\n + content_type + \r\n\r\n + body)
send_to := strings.Split(to, ;)
err := smtp.SendMail(host, auth, user, send_to, msg)
return err
}

  func main() {
user := xxxx@163.com
password := xxxx
host := smtp.163.com:25
to := xxxx@gmail.com;ssssss@gmail.com

  subject := Test send email by golang

  body := `
<html>
<body>
<h3>
Test send email by golang
</h3>
</body>
</html>
`
fmt.Println(send email)
err := SendMail(user, password, host, to, subject, body, html)
if err != nil {
fmt.Println(send mail error!)
fmt.Println(err)
}else{
fmt.Println(send mail success!)
}
}

  希望本文所述对大家的Go语言程序设计有所帮助。


评论


亲,登录后才可以留言!