package main import ( "log" "net/mail" "os" "strconv" "qoobing.com/gomod/email" "qoobing.com/gomod/email/smtp" ) func main1() { fromAddr := "qbing2010@163.com" fromPass := "AHu6KX5z2Pk9RndY" fromSmtpAddr := "smtp.163.com" fromSmtpPort := 25 //465 //465;//587 toAddr := "q.bryant@live.com" // compose the message m := email.NewMessage("Hi", "this is the body") m.From = mail.Address{Name: "From", Address: fromAddr} m.To = []string{toAddr} // add attachments if err := m.Attach("attachment.file"); err != nil { log.Fatal(err) } log.Println("fromAddr", fromAddr, "fromPass", fromPass, "fromSmtpAddr", fromSmtpAddr) // send it auth := smtp.PlainAuth("", fromAddr, fromPass, fromSmtpAddr) if err := email.Send(fromSmtpAddr+":"+strconv.Itoa(fromSmtpPort), auth, m); err != nil { log.Fatal(err) } else { log.Println("done") } } func main2() { fromAddr := "no-reply@pelsee.com" fromPass := "zoiqezqjofryuinq" fromSmtpAddr := "smtp.gmail.com" fromSmtpPort := 587 //465 //465;//587 toAddr := "q.bryant@live.com" // compose the message m := email.NewMessage("Hi", "this is the body") m.From = mail.Address{Name: "From", Address: fromAddr} m.To = []string{toAddr} // add attachments if err := m.Attach("attachment.file"); err != nil { log.Fatal(err) } log.Println("fromAddr", fromAddr, "fromPass", fromPass, "fromSmtpAddr", fromSmtpAddr) // send it auth := smtp.PlainAuth("", fromAddr, fromPass, fromSmtpAddr) if err := email.Send(fromSmtpAddr+":"+strconv.Itoa(fromSmtpPort), auth, m); err != nil { log.Fatal(err) } else { log.Println("done") } } func main3() { fromAddr := "no-reply@pelsee.com" fromPass := "zoiqezqjofryuinq" fromSmtpAddr := "smtp.gmail.com" fromSmtpPort := 587 //465 //465;//587 fromSocks5Proxy := "socks5://127.0.0.1:1080" toAddr := "q.bryant@live.com" // compose the message m := email.NewMessage("Hi", "this is the body") m.From = mail.Address{Name: "From", Address: fromAddr} m.To = []string{toAddr} // add attachments if err := m.Attach("attachment.file"); err != nil { log.Fatal(err) } log.Println("fromAddr", fromAddr, "fromPass", fromPass, "fromSmtpAddr", fromSmtpAddr) // send it auth := smtp.PlainAuth("", fromAddr, fromPass, fromSmtpAddr) if err := email.Send(fromSmtpAddr+":"+strconv.Itoa(fromSmtpPort)+"|"+fromSocks5Proxy, auth, m); err != nil { log.Fatal(err) } else { log.Println("done") } } func main() { args := os.Args witchOne := 3 var err error if len(args) > 1 { witchOne, err = strconv.Atoi(args[1]) if err != nil { log.Fatal("invalid argument", err) } } switch witchOne { case 1: main1() case 2: main2() case 3: main3() default: log.Fatal("invalid argument", witchOne) } }