Go
Official MailSetu Go SDK. Production client for email, SMS, inbound, webhooks, and Verify / OTP.
Installation
bash
go get github.com/mailsetu/mailsetu-goSetup
go
package main
import (
"fmt"
"log"
"os"
mailsetu "github.com/mailsetu/mailsetu-go"
)
func main() {
client := mailsetu.New(os.Getenv("MAILSETU_API_KEY"), "")
// ...
}Send an email
go
resp, err := client.Emails.Send(mailsetu.SendEmailRequest{
From: "Acme <noreply@acme.co>",
To: []string{"user@example.com"},
Subject: "Welcome to Acme!",
HTML: "<h1>Welcome!</h1>",
Text: "Welcome!",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(resp.ID) // email-xxxxxxxxxxxxxxxx
fmt.Println(resp.Status) // queuedStart an OTP verification
go
service, err := client.Verify.CreateService(mailsetu.CreateVerifyServiceRequest{
Name: "Login OTP",
CodeLength: 6,
TTLSeconds: 300,
})
if err != nil {
log.Fatal(err)
}
verification, err := client.Verify.Start(mailsetu.StartVerificationRequest{
ServiceID: service.ID,
To: "+919876543210",
IdempotencyKey: "login-otp-1",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(verification.ID)