关闭

golang发邮件

标签: golang邮件
774人阅读 评论(0) 收藏 举报
分类:
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 }
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43615次
    • 积分:582
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:37篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论