update
This commit is contained in:
@@ -1 +0,0 @@
|
||||
package app
|
||||
@@ -1,21 +1,12 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/smtp"
|
||||
"os"
|
||||
"strconv"
|
||||
"text/template"
|
||||
)
|
||||
|
||||
const CONFIG_SMTP_HOST = "smtp.gmail.com"
|
||||
const CONFIG_SMTP_PORT = 587
|
||||
const CONFIG_SENDER_NAME = "HIS <hats.nutech@gmail.com>"
|
||||
const CONFIG_AUTH_EMAIL = "hats.nutech@gmail.com"
|
||||
const CONFIG_AUTH_PASSWORD = "lbfjfuywqktkexij"
|
||||
|
||||
type MailConfig struct {
|
||||
SMTPHost string
|
||||
SMTPPort int
|
||||
@@ -25,13 +16,6 @@ type MailConfig struct {
|
||||
}
|
||||
|
||||
func Mail() *MailConfig {
|
||||
// dialer := gomail.NewDialer(
|
||||
// CONFIG_SMTP_HOST,
|
||||
// CONFIG_SMTP_PORT,
|
||||
// CONFIG_AUTH_EMAIL,
|
||||
// CONFIG_AUTH_PASSWORD,
|
||||
// )
|
||||
|
||||
port, err := strconv.Atoi(os.Getenv("SMTP_PORT"))
|
||||
if err != nil {
|
||||
fmt.Println("error parsing to int", err.Error())
|
||||
@@ -46,45 +30,17 @@ func Mail() *MailConfig {
|
||||
}
|
||||
}
|
||||
|
||||
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()
|
||||
|
||||
func SendEmail(to []string, cc []string, name, subject, message, htmlString string) error {
|
||||
sender := "From: " + Mail().SMTPSenderName + "\n"
|
||||
subjectt := "Subject: 👋 Hello from Go\n"
|
||||
subjectt := "Subject: " + subject + "\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("", Mail().AuthEmail, Mail().AuthPassword, Mail().SMTPHost)
|
||||
smtpAddr := fmt.Sprintf("%s:%d", Mail().SMTPHost, Mail().SMTPPort)
|
||||
fmt.Println("cek dong", Mail())
|
||||
|
||||
err = smtp.SendMail(smtpAddr, auth, Mail().AuthEmail, append(to, cc...), messages)
|
||||
err := smtp.SendMail(smtpAddr, auth, Mail().AuthEmail, append(to, cc...), messages)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user