Skip to content

zyghq/postmark

 
 

Repository files navigation

Postmark

Fork from Keighl's Postmark (A Golang package for the using Postmark API)

Go Build Status Go Report Card Release GoDoc


Installation

go get -u github.com/mrz1836/postmark

Basic Usage

Grab your Server Token, and your Account Token.

package main

import (
	"context"

	"github.com/mrz1836/postmark"
)

func main() {
	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(context.Background(), email)
	if err != nil {
		panic(err)
	}
}

Swap out HTTPClient for use on Google App Engine:

package main

import (
    "github.com/mrz1836/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
  • Suppressions
    • GET /suppressions/dump
    • POST /suppressions
    • POST /suppressions/delete
  • 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
  • Message Streams
    • GET /message-streams
    • POST /message-streams
    • GET /message-streams/{stream_ID}
    • PATCH /message-streams/{stream_ID}
    • POST /message-streams/{stream_ID}/archive
    • POST /message-streams/{stream_ID}/unarchive
  • 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
  • Webhooks
    • List webhooks
    • Get webhooks
    • Create webhooks
    • Edit webhooks
    • Delete webhooks

License

License

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%