Skip to content

keighl/postmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

28358b1 · Aug 21, 2019

History

82 Commits
Apr 17, 2016
Apr 19, 2016
May 5, 2016
Jul 13, 2018
Apr 17, 2016
Jul 13, 2018
Nov 3, 2016
Apr 28, 2016
Jul 13, 2018
Apr 28, 2016
Nov 3, 2016
Apr 28, 2016
Mar 30, 2017
Mar 30, 2017
Mar 29, 2018
Apr 17, 2016
May 25, 2018
May 25, 2018
Jul 13, 2018
Jul 13, 2018
Nov 3, 2016
Apr 28, 2016
May 25, 2018
May 25, 2018
Aug 1, 2019
Jul 13, 2018

Repository files navigation

Postmark

Build Status Go Report Card codecov.io GoDoc

A Golang package for the using Postmark API.

Installation

go get -u github.com/keighl/postmark

Basic Usage

Grab your Server Token, and your Account Token.

import (
    "github.com/keighl/postmark"
)

client := postmark.NewClient("[SERVER-TOKEN]", "[ACCOUNT-TOKEN]")

email := postmark.Email{
	From: "[email protected]",
	To: "[email protected]",
	Subject: "Reset your password",
	HtmlBody: "...",
    TextBody: "...",
	Tag: "pw-reset",
	TrackOpens: true,
}

_, err = client.SendEmail(email)
if err != nil {
	panic(err)
}

Swap out HTTPClient for use on Google App Engine:

import (
    "github.com/keighl/postmark"
    "google.golang.org/appengine"
    "google.golang.org/appengine/urlfetch"
)

// ....

client := postmark.NewClient("[SERVER-TOKEN]", "[ACCOUNT-TOKEN]")

ctx := appengine.NewContext(req)
client.HTTPClient = urlfetch.Client(ctx)

// ...

API Coverage

  • Emails
    • POST /email
    • POST /email/batch
    • POST /email/withTemplate
    • POST /email/batchWithTemplates
  • Bounces
    • GET /deliverystats
    • GET /bounces
    • GET /bounces/:id
    • GET /bounces/:id/dump
    • PUT /bounces/:id/activate
    • GET /bounces/tags
  • Templates
    • GET /templates
    • POST /templates
    • GET /templates/:id
    • PUT /templates/:id
    • DELETE /templates/:id
    • POST /templates/validate
  • Servers
    • GET /servers/:id
    • PUT /servers/:id
  • Outbound Messages
    • GET /messages/outbound
    • GET /messages/outbound/:id/details
    • GET /messages/outbound/:id/dump
    • GET /messages/outbound/opens
    • GET /messages/outbound/opens/:id
  • Inbound Messages
    • GET /messages/inbound
    • GET /messages/inbound/:id/details
    • PUT /messages/inbound/:id/bypass
    • PUT /messages/inbound/:id/retry
  • Sender signatures
    • GET /senders
    • Get a sender signature’s details
    • Create a signature
    • Edit a signature
    • Delete a signature
    • Resend a confirmation
    • Verify an SPF record
    • Request a new DKIM
  • Stats
    • GET /stats/outbound
    • GET /stats/outbound/sends
    • GET /stats/outbound/bounces
    • GET /stats/outbound/spam
    • GET /stats/outbound/tracked
    • GET /stats/outbound/opens
    • GET /stats/outbound/platform
    • Get email client usage
    • Get email read times
  • Triggers
    • Tags triggers
      • Create a trigger for a tag
      • Get a single trigger
      • Edit a single trigger
      • Delete a single trigger
      • Search triggers
    • Inbound rules triggers
      • Create a trigger for inbound rule
      • Delete a single trigger
      • List triggers