You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.5 KiB
106 lines
3.5 KiB
package email_test
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"yunyan/sys/email"
|
|
"fmt"
|
|
"net/smtp"
|
|
"testing"
|
|
|
|
eml "github.com/jordan-wright/email"
|
|
"gopkg.in/gomail.v2"
|
|
)
|
|
|
|
// 发送邮件
|
|
func Test_Sys(t *testing.T) {
|
|
if sys, err := email.NewSys(
|
|
email.Set_EmailType(email.TencentEmail),
|
|
email.Set_FromEmail("liwei@yunqiinnovation.com"),
|
|
email.Set_Password("eNdXWrjSQbdYtwbt")); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
} else {
|
|
err = sys.SendMail("测试邮件主题", "<h1>邮件正文</h1><p>这是一封通过Golang发送的测试邮件。</p>", "2211068034@qq.com")
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|
|
// 发送邮件
|
|
func Test_SendMail_Gamil(t *testing.T) {
|
|
e := eml.NewEmail()
|
|
e.From = "liwei1dao@gmail.com"
|
|
e.To = []string{"2211068034@qq.com"}
|
|
// e.Bcc = []string{"test_bcc@example.com"}
|
|
// e.Cc = []string{"test_cc@example.com"}
|
|
e.Subject = "Awesome Subject"
|
|
e.Text = []byte("Text Body is, of course, supported!")
|
|
e.HTML = []byte("")
|
|
err := e.Send("smtp.gmail.com:587", smtp.PlainAuth("", "liwei1dao@gmail.com", "afsqdeweopnpakuw", "smtp.gmail.com"))
|
|
fmt.Printf("Test_SendMail:%v", err)
|
|
}
|
|
|
|
// 发送邮件
|
|
func Test_SendMail_QQ(t *testing.T) {
|
|
e := eml.NewEmail()
|
|
e.From = "2211068034@qq.com"
|
|
e.To = []string{"2211068034@qq.com"}
|
|
// e.Bcc = []string{"test_bcc@example.com"}
|
|
// e.Cc = []string{"test_cc@example.com"}
|
|
e.Subject = "Awesome Subject"
|
|
e.Text = []byte("Text Body is, of course, supported!")
|
|
e.HTML = []byte("")
|
|
err := e.Send("smtp.qq.com:25", smtp.PlainAuth("", "2211068034@qq.com", "ffngwepbmewcdifc", "smtp.qq.com"))
|
|
fmt.Printf("Test_SendMail:%v", err)
|
|
}
|
|
|
|
// 发送邮件
|
|
func Test_SendMail_TencentEmail(t *testing.T) {
|
|
// e := eml.NewEmail()
|
|
// e.From = "liwei@yunqiinnovation.com"
|
|
// e.To = []string{"2211068034@qq.com"}
|
|
// // e.Bcc = []string{"test_bcc@example.com"}
|
|
// // e.Cc = []string{"test_cc@example.com"}
|
|
// e.Subject = "Awesome Subject"
|
|
// e.Text = []byte("Text Body is, of course, supported!")
|
|
// e.HTML = []byte("")
|
|
// err := e.Send("smtp.exmail.qq.com:465", smtp.PlainAuth("", "liwei@yunqiinnovation.com", "eNdXWrjSQbdYtwbt", "smtp.exmail.qq.com"))
|
|
// fmt.Printf("Test_SendMail:%v", err)
|
|
|
|
//配置参数
|
|
smtpHost := "smtp.exmail.qq.com"
|
|
smtpPort := 465
|
|
fromEmail := "liwei@yunqiinnovation.com" // 发件人邮箱
|
|
authCode := "eNdXWrjSQbdYtwbt" // 授权码
|
|
toEmails := []string{"lizayop92887@icloud.com"} // 收件人列表
|
|
|
|
// 创建邮件消息
|
|
m := gomail.NewMessage()
|
|
m.SetHeader("From", m.FormatAddress("liwei@yunqiinnovation.com", "云翔创新科技"))
|
|
m.SetHeader("To", toEmails...)
|
|
m.SetHeader("Subject", "测试邮件主题")
|
|
m.SetBody("text/html", "<h1>邮件正文</h1><p>这是一封通过Golang发送的测试邮件。</p>")
|
|
|
|
// 配置SMTP连接
|
|
d := gomail.NewDialer(smtpHost, smtpPort, fromEmail, authCode)
|
|
d.TLSConfig = &tls.Config{InsecureSkipVerify: true} // 可选:跳过证书验证(测试环境使用)
|
|
|
|
// 发送邮件
|
|
if err := d.DialAndSend(m); err != nil {
|
|
fmt.Println("邮件发送失败:", err)
|
|
return
|
|
}
|
|
fmt.Println("邮件发送成功!")
|
|
}
|
|
|
|
func TestSendMail(t *testing.T) {
|
|
if sys, err := email.NewSys(
|
|
email.Set_EmailType(email.TencentEmail),
|
|
email.Set_FromEmail("liwei@yunqiinnovation.com"),
|
|
email.Set_Password("eNdXWrjSQbdYtwbt")); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
} else {
|
|
err = sys.SendMail("Sign-in Verification Code", fmt.Sprintf("<html><body><p>Your verification code is: <strong>%d</strong></p><p>For your account security, please do not share this code with anyone.</p></body></html>", 2467), "2211068034@qq.com")
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|