Go语言通过smtp发送邮件的方法
本文实例讲述了Go语言通过smtp发送邮件的方法。分享给大家供大家参考。具体实现方法如下:
packagemain import( "net/smtp" "fmt" "strings" )
/* * user:example@example.comloginsmtpserveruser * password:xxxxxloginsmtpserverpassword * host:smtp.example.com:port smtp.163.com:25 * to:example@example.com;example1@163.com;example2@sina.com.cn;... * subject:Thesubjectofmail * body:Thecontentofmail * mailtyoe:mailtypehtmlortext */
funcSendMail(user,password,host,to,subject,body,mailtypestring)error{ hp:=strings.Split(host,":") auth:=smtp.PlainAuth("",user,password,hp[0]) varcontent_typestring ifmailtype=="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) returnerr }
funcmain(){ user:="xxxx@163.com" password:="xxxx" host:="smtp.163.com:25" to:="xxxx@gmail.com;ssssss@gmail.com"
subject:="Testsendemailbygolang"
body:=` <html> <body> <h3> "Testsendemailbygolang" </h3> </body> </html> ` fmt.Println("sendemail") err:=SendMail(user,password,host,to,subject,body,"html") iferr!=nil{ fmt.Println("sendmailerror!") fmt.Println(err) }else{ fmt.Println("sendmailsuccess!") } }