![]() | |
Kels 10 M2 Levi Air Purifier Portabel Cadr 40 M3/jam - PutihMiliki kesegaran udara di dalam ruangan dengan menggunakan Levi Portable Air Purifier persembahan dari Kels. Air purifier ini memiliki jangkauan area filtrasi mencapai 10 meter yang mampu menyerap partikel udara kotor dan menggantinya dengan udara yang lebih bersih. Memiliki filtrasi dengan filter HEPA 13 dan 1 lapisan tambahan untuk memaksimalkan filtrasi udara dari kotoran hingga 99.97%. Free Klik Disini ! |
Hal yang menarik dari bahasa go adalah kecepatan pemrosesan data, dalam banyak kasus transaksi keuangan kecepatan dan ketepatan penyajian data menjadi tolak ukur keberhasilan sebuah sistem. Go adalah salah satu bahasa pemrograman pilihan untuk backend processing.
Berbicara tentang pengiriman data via email ini menjadi hal unik tersendiri, setiap bahasa pemrograman telah memberikan dukungan dalam bentuk library email. Demikian juga dengan bahasa go, salah satu modul email yang banyak dipakai oleh para engineer bahasa go yaitu GOMAIL.
Gomail mendukung protokol smpt dan pop3, bahkan dengan gomail kamu bisa menggunakan protokol smpt Google Mail. Cara installnya cukup mudah dan kamu bisa memanfaatkan go get.
go get gopkg.in/gomail.v2
func ParseTemplate(templateFileName string, data interface{}) (string, error) {
t, err := template.ParseFiles(templateFileName)
if err != nil {
return "", err
}
buf := new(bytes.Buffer)
if err = t.Execute(buf, data); err != nil {
fmt.Println(err)
return "", err
}
return buf.String(), nil
}
Note :
template.ParseFiles(templateFileName) -> berfungsi mengubah text html kedalam bentuk byte
t.Execute(buf, data) -> berfungsi untuk merender struct data kedalam file html.
Perhatikan kode lengkap berikut ini :
package mainimport (
"bytes"
"fmt"
"runtime"
"text/template""gopkg.in/gomail.v2"
)type BodylinkEmail struct {
URL string
}func main() {
templateData := BodylinkEmail{
URL: "https://detik.id/",
}
to := "coba@example.com"
runtime.GOMAXPROCS(1)
go SendEmailVerification(to, templateData)fmt.Println("kirim email sedang di proses, cek email anda")
}
func SendEmail(to string, subject string, data interface{}, templateFile string) error {
result, _ := ParseTemplate(templateFile, data)
m := gomail.NewMessage()
m.SetHeader("From", "EmailSender")
m.SetHeader("To", to)
// m.SetAddressHeader("Cc", "<RECIPIENT CC>", "<RECIPIENT CC NAME>")
m.SetHeader("Subject", subject)
m.SetBody("text/html", result)
// m.Attach(templateFile) // attach whatever you want
senderPort := 5675
d := gomail.NewDialer("SenderHost", senderPort, "EmailSender", "EmailPassword")
err := d.DialAndSend(m)
if err != nil {
panic(err)
}
return err
}func ParseTemplate(templateFileName string, data interface{}) (string, error) {
t, err := template.ParseFiles(templateFileName)
if err != nil {
return "", err
}
buf := new(bytes.Buffer)
if err = t.Execute(buf, data); err != nil {
fmt.Println(err)
return "", err
}
return buf.String(), nil
}func SendEmailVerification(to string, data interface{}) {
var err error
template := "email_template_verifikasi.html"
subject := "sample email"
err = SendEmail(to, subject, data, template)
if err == nil {
fmt.Println("send email '" + subject + "' success")
} else {
fmt.Println(err)
}
}
kemudian buat file HTML dengan nama email_template_verifikasi.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html></head>
<body>
<p><b>Hi blabla blabla,</b></p>
<p>Silakan klik link ini <a href="{{.URL}}">{{.URL}}</a> untuk verifikasi account.</p></body>
</html>
Note :
Baca juga artikel lainya :