golang发邮件

01 package main
02 import (
03     "net/smtp"
04     "fmt"
05     "strings"
06 )
07  
08 /*
09  *  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 }
阅读更多
文章标签: golang 邮件
个人分类: golang
上一篇golang图片式水印处理
下一篇golang操作mysql
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭