Files
LingXi-CRM/server/common/mail.go
T
2026-06-09 15:59:52 +08:00

63 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package common
import (
"crm/global"
"crm/models"
"crypto/tls"
"fmt"
"log"
"gopkg.in/gomail.v2"
)
// 发送邮件(系统级别)
// QQ邮箱:SMTP 服务器地址:smtp.qq.comSSL协议端口:465/994 | 非SSL协议端口:25
// 163邮箱:SMTP 服务器地址:smtp.163.com(端口:25
func SendMail(email, content string) error {
smtp := global.Config.Mail.Smtp
secret := global.Config.Mail.Secret
sender := global.Config.Mail.Sender
m := gomail.NewMessage()
m.SetHeader("From", sender) // 发件人
m.SetHeader("To", email) // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接
m.SetHeader("Cc", email) // 抄送,可以多个
m.SetHeader("Bcc", email) // 暗送,可以多个
m.SetHeader("Subject", "灵犀客户通") // 邮件主题
m.SetBody("text/html", content)
d := gomail.NewDialer(smtp, 465, sender, secret)
// 关闭SSL协议认证
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
fmt.Printf("qq mail send error : %s", err)
return err
}
return nil
}
// 发送邮件给客户(客户级别)
func SendMailToCustomer(mp models.MailParam) error {
m := gomail.NewMessage()
m.SetHeader("From", mp.Sender)
m.SetHeader("To", mp.Receiver)
m.SetHeader("Subject", mp.Subject)
m.SetBody("text/html", mp.Content)
if mp.Attachment != "" {
m.Attach(mp.Attachment)
}
d := gomail.NewDialer(mp.Smtp, mp.Port, mp.Sender, mp.AuthCode)
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
log.Printf("send mail to customer error : %s", err)
return err
}
return nil
}
// 检测STMP服务是否可连接
func DialMail(smtp string, port int, sender, authCode string) error {
d := gomail.NewDialer(smtp, port, sender, authCode)
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
_, err := d.Dial()
return err
}