golang-发送邮件
2015-08-20 20:58
435 查看
亲测可用
package mainimport (m "chUtils/mail""fmt")func main() {email := m.NewEmail("305860361@qq.com", "测试主题", "测试了")err := m.SendEmail(email)if err != nil {fmt.Print(err)}}
<pre name="code" class="csharp">package mailimport ("fmt""net/smtp""strings")const (HOST = "smtp.163.com"SERVER_ADDR = "smtp.163.com:25"USER = "a15207146487@163.com" //发送邮件的邮箱PASSWORD = "iadblvahqephdpzl" //发送邮件邮箱的密码)type Email struct {to string "to"subject string "subject"msg string "msg"}func NewEmail(to, subject, msg string) *Email {return &Email{to: to, subject: subject, msg: msg}}func SendEmail(email *Email) error {auth := smtp.PlainAuth("", USER, PASSWORD, HOST)sendTo := strings.Split(email.to, ";")done := make(chan error, 1024)go func() {defer close(done)for _, v := range sendTo {str := strings.Replace("From: "+USER+"~To: "+v+"~Subject: "+email.subject+"~~", "~", "\r\n", -1) + email.msgerr := smtp.SendMail(SERVER_ADDR,auth,USER,[]string{v},[]byte(str),)done <- err}}()for i := 0; i < len(sendTo); i++ {fmt.Println(<-done)}return nil}
相关文章推荐
- codeforces 559A(Gerald's Hexagon)
- 浏览器中输入Google.com然后按下回车键
- HDU 4341 Gold miner (分组背包)
- 总结django form
- Go学习笔记
- oc语法特性-分类Category
- UVA 11054 Gergovia的酒交易
- Google Guava的splitter用法
- Algorithms—164.Maximum Gap
- GO搭建一个web服务器
- Algorithms—152.Maximum Product Subarray
- UVa 225 - Golygons
- HDU 2520 我是菜鸟,我怕谁
- HDU 2519 新生晚会 (组合数学)
- HDU 2516 取石子游戏( FIB博弈 )
- Golang 1.5 正式版网盘下载地址
- django migrate无效的解决方法
- uva 10321 - Polygon Intersection(几何)
- uva 10867 - Cutting a Polygon(几何)
- uva 11090 Going in Cycle!!