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("如果要测试真实邮件,请修改上面的邮箱地址为真实邮箱。") }