package smtp_test import ( "context" "fmt" "io" "net/http" "testing" "code.yun.ink/pkg/mailx/interfaces" "code.yun.ink/pkg/mailx/smtp" ) func TestMail(t *testing.T) { sm := smtp.NewSmtp() ctx := context.Background() ini, err := sm.SetOption(ctx, interfaces.SetSmtp(&interfaces.EmailConfigDataSmtp{ Username: "support@email.blueoceanpay.com", Password: "SupporT2017", ReplyTo: "", Host: "smtpdm-ap-southeast-1.aliyun.com", Port: "80", })) if err != nil { t.Fatal(err) } req, err := http.Get("https://baidu.com") if err != nil { t.Fatal(err) } defer req.Body.Close() by, err := io.ReadAll(req.Body) if err != nil { t.Fatal(err) } msg := interfaces.Message{ To: []string{"995116474@qq.com"}, Cc: []string{"287852692@qq.com"}, Bcc: []string{"1362716835@qq.com"}, ReplyTo: "huangxinyun@dreaminglife.cn", Subject: "test mail", Body: string(by), Attachment: []interfaces.MessageAttachment{ // { // Name: "/code/statistic/out.xlsx", // ContentType: "", // WithFile: true, // }, // { // Name: "/code/statistic/origin.xlsx", // ContentType: "", // WithFile: true, // }, // { // Name: "/code/statistic/out2.xlsx", // ContentType: "", // WithFile: true, // }, }, } err = ini.Send(ctx, msg) fmt.Println(err) } // func TestQQ(t *testing.T) { // // 发件人邮箱 // from := "995116474@qq.com" // // 授权码,而非密码 // authCode := "xxxxxxxxxxxxxxxxxxxxxx" // // 收件人邮箱,可以是多个收件人 // to := []string{"yun@yun.ink"} // // 邮件服务器信息 // smtpHost := "smtp.qq.com" // smtpPort := "587" // 或使用465,根据你的SMTP服务器要求设置 // mail := mailx.NewMailx(from, authCode, smtpHost, smtpPort) // msg := mailx.Message{ // To: to, // Subject: "test mail", // Body: "测试", // } // err := mail.Send(msg) // fmt.Println(err) // }