Pada tutorial kali ini, kita akan menggunakan bahasa pemrograman Go (golang) untuk mengirimkan email lewat platform
Mailgun. Mailgun sendiri adalah layanan pengiriman email dan kini juga notifikasi realtime secara gratis dengan batasan menarik, seperti:
- 10,000 emails / month
- 100 validations / month
- 5 days of log retention
- 24/7 ticket support
Mailgun sendiri menyediakan SDK yang cukup lengkap. Beberapa bahasa pemrograman yang didukung antara lain: python, ruby, perl, java, kotlin, Go/lang, C#, PHP, nodeJS, luvit dan cURL. Nah, untuk Golang sendiri silakan ikuti sourcecode berikut:
package main
import (
"context"
"fmt"
"log"
"time"
"github.com/mailgun/mailgun-go/v4"
)
// Your available domain names can be found here:
// (https://app.mailgun.com/app/domains)
var yourDomain string = "your-domain-name" // e.g. mg.yourcompany.com
// You can find the Private API Key in your Account Menu, under "Settings":
// (https://app.mailgun.com/app/account/security)
var privateAPIKey string = "your-private-key"
kemudian selanjutnya, definisikan class Mailgun baru:
func main() {
// Create an instance of the Mailgun Client
mg := mailgun.NewMailgun(yourDomain, privateAPIKey)
}
tambahkan definisi siapa pengirim mailgun:
sender := "sender@example.com"
subject := "Fancy subject!"
body := "Hello from Mailgun Go!"
recipient := "recipient@example.com"
dan kirim emailnya dengan contoh berikut:
// The message object allows you to add attachments and Bcc recipients
message := mg.NewMessage(sender, subject, body, recipient)
ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
defer cancel()
// Send the message with a 10 second timeout
resp, id, err := mg.Send(ctx, message)
if err != nil {
log.Fatal(err)
}
fmt.Printf("ID: %s Resp: %s\n", id, resp)
jadi lebih lanjut silakan pelajari di repositori Mailgun di Github:
https://github.com/mailgun/mailgun-go