来看看 发表于 2018-9-20 10:54:55

一个发邮件的demo 用golang

package libofm  

  
import (
  

"net/smtp"  
"strings"
  
)
  

  
const (
  
HOST      = "smtp.163.com"
  
SERVER_ADDR = "smtp.163.com:25"
  
USER      = "xxxxxx@163.com" //发送邮件的邮箱
  
PASSWORD    = "xxxxxx"         //发送邮件邮箱的密码
  
)
  

  
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.msg
  

  
err := smtp.SendMail(
  
SERVER_ADDR,
  
auth,
  
USER,
  
[]string{v},
  
[]byte(str),
  
)
  
done
页: [1]
查看完整版本: 一个发邮件的demo 用golang