Gin

Use the Posthawk Go SDK with the Gin web framework.

SDKr.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()
}