Gin
Use the Posthawk Go SDK with the Gin web framework.
SDK
r.POST("/send", ...)Send emails from a Gin handler.
Example
go
package main
import (
"net/http"
"os"
"github.com/gin-gonic/gin"
posthawk "github.com/endibuka/posthawk-go"
)
var client = posthawk.New(os.Getenv("POSTHAWK_API_KEY"))
func main() {
r := gin.Default()
r.POST("/send", func(c *gin.Context) {
var req struct {
To string `json:"to"`
Subject string `json:"subject"`
HTML string `json:"html"`
}
c.BindJSON(&req)
result, err := client.Emails.Send(c, &posthawk.SendEmailRequest{
From: "hello@yourdomain.com", To: []string{req.To},
Subject: req.Subject, HTML: req.HTML,
})
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"job_id": result.JobID})
})
r.Run()
}