Sending Email Using Go And Mailgun
In this tutorial I'm going to be demonstrating how you can send mail with Go(Lang) and the mailgun api. Thankfully, mailgun's API is fantastic and sending mail is incredibly easy once you've set everything up properly.
Requirements
- You'll need a mailgun account with your own verified domains
- Mailgun's Go Package: Downloadable from here > https://github.com/mailgun/mailgun-go
- Your Mailgun's Public API Key
Implementation
package main
import (
"github.com/mailgun/mailgun-go"
)
func SendSimpleMessage(domain, apiKey string) (string, error) {
mg := mailgun.NewMailgun("tutorialedge.net", apiKey, "key-12345671234567")
m := mg.NewMessage(
"Excited User <elliot@tutorialedge.net>",
"Hello",
"Testing some Mailgun!",
"elliot@tutorialedge.net",
)
_, id, err := mg.Send(m)
return id, err
}
func main(){
SendSimpleMessage("postmaster@elliotforbes.co.uk", "key-12345671234567")
}