package logic import ( "bytes" "fmt" "fusenapi/utils/wevent" "io" "log" "net/http" "net/smtp" "testing" "github.com/474420502/requests" "github.com/google/uuid" "github.com/gorilla/mux" "github.com/rs/cors" "github.com/zeromicro/go-zero/core/logx" ) func TestEmailSend(t *testing.T) { // 设置发件人和收件人信息 from := "support@fusenpack.com" to := []string{"474420502@qq.com"} // 设置smtp服务器地址,端口和认证信息 smtpServer := "smtp.gmail.com" auth := smtp.PlainAuth("", "support@fusenpack.com", "wfbjpdgvaozjvwah", smtpServer) subject := "Subject: Test email from Go!\n" mime := "MIME-version: 1.0;\nContent-Type: text/html; charset=\"UTF-8\";\n\n" body := "

Hello World!

" msg := []byte(subject + mime + body) // 发送邮件 err := smtp.SendMail(smtpServer+":587", auth, from, to, msg) if err != nil { log.Fatal(err) } } func TestPost(t *testing.T) { r := mux.NewRouter() r.HandleFunc("/aaa", func(w http.ResponseWriter, r *http.Request) { d, _ := io.ReadAll(r.Body) log.Println(string(d)) }).Methods("POST") handler := cors.Default().Handler(r) log.Println("Server listening on :2223") log.Fatal(http.ListenAndServe(":2223", handler)) } func TestEmailTpl(t *testing.T) { data := map[string]string{ "CompanyName": "companyName", "ConfirmationLink": "confirmationLink", "SenderName": "senderName", "SenderTitle": "senderTitle", } var result bytes.Buffer err := tpls.ExecuteTemplate(&result, "email_register.tpl", data) if err != nil { log.Fatal(err) } log.Println(string(result.String())) } func TestSender(t *testing.T) { traceId := uuid.NewString() event := wevent.NewWebsocketEventSuccess(wevent.UserEmailRegister, traceId) event.Data = wevent.DataEmailRegister{ JwtToken: traceId, } tp := requests.Post(fmt.Sprintf("%s/api/websocket/common_notify", "https://server.fusen.3718.cn:9900")) tp.SetBodyJson(requests.M{ "wid": "tGyMYX9EldtsPLZTyT6PxrRgEV615CQGEiu9Sb1XrjZ4kpTjI46sQyh7kYfVlgN9uR5Uw4KDF+S62IknmaRgSMdee1QHVtCv+VEKrMF76snR04zS1ZbWZCgX5Lv2xgHz/bZBWwJF/9u6YTy2/FetGg==", "data": event, }) wresp, err := tp.Execute() if err != nil { logx.Error(err, "traceId") return } result := wresp.Json() if result.Get("code").Int() != 200 { logx.Error(result.Get("message")) return } log.Println(result) }