Files
mailx/smtp/smtp_test.go
T
2025-08-10 22:02:15 +08:00

92 lines
1.9 KiB
Go

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)
// }