Postmark.go is a Go client library for the Postmark API.
go get github.com/hjr265/postmark.go/postmark
c := postmark.New("YOUR-API-KEY")
resp, err := c.SendEmail(&postmark.EmailRequest{
From: "sender@example.com",
To: "recipient@example.com",
Subject: "Hello",
TextBody: "Hello from Postmark!",
})resp, err := c.SendEmailBatch([]*postmark.EmailRequest{
{
From: "sender@example.com",
To: "recipient1@example.com",
Subject: "Hello",
TextBody: "Hello from Postmark!",
},
{
From: "sender@example.com",
To: "recipient2@example.com",
Subject: "Hello",
TextBody: "Hello from Postmark!",
},
})resp, err := c.SendBulkEmail(&postmark.BulkEmailRequest{
From: "sender@example.com",
Subject: "Hello {{FirstName}}",
TextBody: "Hello {{FirstName}}!",
MessageStream: "broadcast",
Messages: []postmark.BulkMessage{
{
To: "recipient1@example.com",
TemplateModel: map[string]string{"FirstName": "Alice"},
},
{
To: "recipient2@example.com",
TemplateModel: map[string]string{"FirstName": "Bob"},
},
},
})status, err := c.GetBulkEmailStatus("bulk-request-id")c := postmark.New("YOUR-API-KEY", postmark.WithHost("custom.api.host"))Contributions are welcome.
Postmark.go is available under the BSD (3-Clause) License.