Files
goalfylearning-admin/test/test_email.go

69 lines
2.1 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 main
import (
"fmt"
"time"
"goalfymax-admin/internal/config"
"goalfymax-admin/internal/services"
)
func main() {
fmt.Println("==========================================================")
fmt.Println("邮件发送功能测试")
fmt.Println("==========================================================")
// 加载配置
config.LoadConfig("../etc/config.yaml")
// 创建邮件服务
emailService := services.NewEmailService()
// 测试中文邮件
fmt.Println("\n=== 测试 1: 发送中文邮件 ===")
testZhEmail := "test_zh@example.com"
inviteCodeZh := "GFY-TEST0001-ZH01"
expiresAt := time.Now().Add(72 * time.Hour)
fmt.Printf("收件人: %s\n", testZhEmail)
fmt.Printf("邀请码: %s\n", inviteCodeZh)
fmt.Printf("语言: zh (中文)\n")
fmt.Printf("有效期: %s\n", expiresAt.Format("2006-01-02 15:04:05"))
err := emailService.SendInviteCodeApprovalEmail(testZhEmail, inviteCodeZh, "zh", &expiresAt)
if err != nil {
fmt.Printf("✗ 发送失败: %v\n", err)
} else {
fmt.Printf("✓ 发送成功\n")
}
// 等待一下
time.Sleep(2 * time.Second)
// 测试英文邮件
fmt.Println("\n=== 测试 2: 发送英文邮件 ===")
testEnEmail := "test_en@example.com"
inviteCodeEn := "GFY-TEST0001-EN01"
fmt.Printf("收件人: %s\n", testEnEmail)
fmt.Printf("邀请码: %s\n", inviteCodeEn)
fmt.Printf("语言: en (English)\n")
fmt.Printf("有效期: %s\n", expiresAt.Format("2006-01-02 15:04:05"))
err = emailService.SendInviteCodeApprovalEmail(testEnEmail, inviteCodeEn, "en", &expiresAt)
if err != nil {
fmt.Printf("✗ 发送失败: %v\n", err)
} else {
fmt.Printf("✓ 发送成功\n")
}
fmt.Println("\n==========================================================")
fmt.Println("测试完成!")
fmt.Println("==========================================================")
fmt.Println("\n请检查以下邮箱")
fmt.Printf(" - %s (应该收到中文邮件)\n", testZhEmail)
fmt.Printf(" - %s (应该收到英文邮件)\n", testEnEmail)
fmt.Println("\n注意这些是测试邮箱实际不会收到邮件。")
fmt.Println("如果要测试真实邮件,请修改上面的邮箱地址为真实邮箱。")
}