123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package mail
- import (
- "fmt"
- "log"
- "net/smtp"
- "strings"
- "time"
- )
- func (mail *MailClient) SendPanicWarning(content string) (err error) {
- e := Email{
- From: FROM_USERNAME,
- PassWord: FROM_PASSWORD,
- To: TO_USERNAME,
- Subject: "panic",
- Content: content,
- }
- return mail.send(e)
- }
- func (mail *MailClient) SendCustomWarning(subject, content string) (err error) {
- e := Email{
- From: FROM_USERNAME,
- PassWord: FROM_PASSWORD,
- To: TO_USERNAME,
- Subject: subject,
- Content: content,
- }
- return mail.send(e)
- }
- func (mail *MailClient) send(e Email) (err error) {
- now := time.Now().Format("2006-01-02 15:04:05")
- e.Subject = fmt.Sprintf("AppName: %s Title: %s Time: %s", mail.AppName, e.Subject, now)
- // 按需要的格式设置邮件内容
- message := []byte("From: " + e.From + "\r\n" +
- "To: " + e.To + "\r\n" +
- "Subject: " + e.Subject + "\r\n" +
- "\r\n" +
- e.Content)
- // 连接到 SMTP 服务器
- auth := smtp.PlainAuth("", e.From, e.PassWord, mail.Server)
- err = smtp.SendMail(fmt.Sprintf("%s:%s", mail.Server, mail.Port), auth, e.From, strings.Split(e.To, ","), []byte(message))
- if err != nil {
- log.Println("Email send is failed , Error:", err)
- return
- }
- log.Println("Email send successfully!")
- return
- }
|