email/example/main.go
2025-06-18 18:34:51 +08:00

113 lines
2.7 KiB
Go

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)
}
}