Fiber
Use the Posthawk Go SDK with Fiber.
SDK
app.Post("/send", ...)Send emails from a Fiber handler.
Example
go
package main
import (
"os"
"github.com/gofiber/fiber/v2"
posthawk "github.com/endibuka/posthawk-go"
)
var client = posthawk.New(os.Getenv("POSTHAWK_API_KEY"))
func main() {
app := fiber.New()
app.Post("/send", func(c *fiber.Ctx) error {
var req struct {
To string `json:"to"`
Subject string `json:"subject"`
HTML string `json:"html"`
}
c.BodyParser(&req)
result, err := client.Emails.Send(c.Context(), &posthawk.SendEmailRequest{
From: "hello@yourdomain.com", To: []string{req.To},
Subject: req.Subject, HTML: req.HTML,
})
if err != nil {
return c.Status(500).JSON(fiber.Map{"error": err.Error()})
}
return c.JSON(fiber.Map{"job_id": result.JobID})
})
app.Listen(":3000")
}