[Go] Go语言通过smtp发送邮件的范例代码 →→→→→进入此内容的聊天室

来自 , 2020-11-20, 写在 Go, 查看 148 次.
URL http://www.code666.cn/view/209a38b6
  1. package main
  2. import (
  3.         "net/smtp"
  4.         "fmt"
  5.         "strings"
  6. )
  7.  
  8. /*
  9.  *      user : example@example.com login smtp server user
  10.  *      password: xxxxx login smtp server password
  11.  *      host: smtp.example.com:port   smtp.163.com:25
  12.  *      to: example@example.com;example1@163.com;example2@sina.com.cn;...
  13.  *  subject:The subject of mail
  14.  *  body: The content of mail
  15.  *  mailtyoe: mail type html or text
  16.  */
  17.  
  18.  
  19. func SendMail(user, password, host, to, subject, body, mailtype string) error{
  20.         hp := strings.Split(host, ":")
  21.         auth := smtp.PlainAuth("", user, password, hp[0])
  22.         var content_type string
  23.         if mailtype == "html" {
  24.                 content_type = "Content-Type: text/"+ mailtype + "; charset=UTF-8"
  25.         }else{
  26.                 content_type = "Content-Type: text/plain" + "; charset=UTF-8"
  27.         }
  28.  
  29.         msg := []byte("To: " + to + "\r\nFrom: " + user + "<"+ user +">\r\nSubject: " + subject + "\r\n" + content_type + "\r\n\r\n" + body)
  30.         send_to := strings.Split(to, ";")
  31.         err := smtp.SendMail(host, auth, user, send_to, msg)
  32.         return err
  33. }
  34.  
  35. func main() {
  36.         user := "xxxx@163.com"
  37.         password := "xxxx"
  38.         host := "smtp.163.com:25"
  39.         to := "xxxx@gmail.com;ssssss@gmail.com"
  40.  
  41.         subject := "Test send email by golang"
  42.  
  43.         body := `
  44.         <html>
  45.         <body>
  46.         <h3>
  47.         "Test send email by golang"
  48.         </h3>
  49.         </body>
  50.         </html>
  51.         `
  52.         fmt.Println("send email")
  53.         err := SendMail(user, password, host, to, subject, body, "html")
  54.         if err != nil {
  55.                 fmt.Println("send mail error!")
  56.                 fmt.Println(err)
  57.         }else{
  58.                 fmt.Println("send mail success!")
  59.         }
  60.  
  61. }
  62.  
  63. //go/4360

回复 "Go语言通过smtp发送邮件的范例代码"

这儿你可以回复上面这条便签

captcha