Sign up for a SparkPost account and visit our Developer Hub for even more content.
The official Go package for using the SparkPost API.
Install from GitHub using go get:
$ go get github.com/VioletGrey/gosparkpost
Go to API & SMTP in the SparkPost app and create an API key. We recommend using the SPARKPOST_API_KEY
environment variable. The example code below shows how to set this up.
Here at SparkPost, our "send some messages" api is called the transmissions API - let's use it to send a friendly test message:
package main
import (
"log"
"os"
sp "github.com/VioletGrey/gosparkpost"
)
func main() {
// Get our API key from the environment; configure.
apiKey := os.Getenv("SPARKPOST_API_KEY")
cfg := &sp.Config{
BaseUrl: "https://api.sparkpost.com",
ApiKey: apiKey,
ApiVersion: 1,
}
var client sp.Client
err := client.Init(cfg)
if err != nil {
log.Fatalf("SparkPost client init failed: %s\n", err)
}
// Create a Transmission using an inline Recipient List
// and inline email Content.
tx := &sp.Transmission{
Recipients: []string{"someone@somedomain.com"},
Content: sp.Content{
HTML: "<p>Hello world</p>",
From: "test@sparkpostbox.com",
Subject: "Hello from gosparkpost",
},
}
id, _, err := client.Send(tx)
if err != nil {
log.Fatal(err)
}
// The second value returned from Send
// has more info about the HTTP response, in case
// you'd like to see more than the Transmission id.
log.Printf("Transmission sent with id [%s]\n", id)
}
TL;DR:
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository.
- Go get the original code -
go get https://github.com/VioletGrey/gosparkpost
- Add your fork as a remote -
git remote add fork http://github.com/YOURID/gosparkpost
- Make your changes in a branch on your fork
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Push your changes -
git push fork HEAD
- Send a pull request. Make sure to add yourself to AUTHORS.
More on the contribution process