package app import ( "bytes" "fmt" "log" "net/smtp" "os" "text/template" ) const CONFIG_SMTP_HOST = "smtp.gmail.com" const CONFIG_SMTP_PORT = 587 const CONFIG_SENDER_NAME = "HIS " const CONFIG_AUTH_EMAIL = "hats.nutech@gmail.com" const CONFIG_AUTH_PASSWORD = "lbfjfuywqktkexij" func Mail() { // dialer := gomail.NewDialer( // CONFIG_SMTP_HOST, // CONFIG_SMTP_PORT, // CONFIG_AUTH_EMAIL, // CONFIG_AUTH_PASSWORD, // ) // return dialer } func SendEmail(to []string, cc []string, subject, message string) error { tmpl, err := template.ParseFiles("template/test.html") if err != nil { log.Fatalf("Error parsing template: %v", err) } fmt.Println("qwqwqw", os.Getenv("PORT")) type Data struct { Name string Company string } data := Data{Name: "Salwa Balqis Sulaeman", Company: "HIS"} var buf bytes.Buffer if err := tmpl.Execute(&buf, data); err != nil { log.Fatalf("Error executing template: %v", err) } // content, err := os.ReadFile("template/test.html") // if err != nil { // fmt.Println("Error reading file:", err) // return err // } htmlString := buf.String() sender := "From: " + CONFIG_SENDER_NAME + "\n" subjectt := "Subject: 👋 Hello from Go\n" mime := "MIME-version: 1.0;\nContent-Type: text/html; charset=\"UTF-8\";\n\n" body := htmlString messages := []byte(sender + subjectt + mime + body) auth := smtp.PlainAuth("", CONFIG_AUTH_EMAIL, CONFIG_AUTH_PASSWORD, CONFIG_SMTP_HOST) smtpAddr := fmt.Sprintf("%s:%d", CONFIG_SMTP_HOST, CONFIG_SMTP_PORT) err = smtp.SendMail(smtpAddr, auth, CONFIG_AUTH_EMAIL, append(to, cc...), messages) if err != nil { return err } return nil }