modulepackage
0.0.0-20200820164431-f1082bcdf63f
Repository: https://github.com/mattbaird/gochimp.git
Documentation: pkg.go.dev
# README
gochimp
Go based API for Mailchimp, starting with Mandrill.
To run tests, set a couple env variables. (replacing values with your own mandrill credentials):
$ export MANDRILL_KEY=111111111-1111-1111-1111-111111111
$ export [email protected]
Mandrill Status
- API Feature complete on Oct 26/2012
- Adding tests, making naming conventions consistent, and refactoring error handling
Chimp Status
- Not started
Getting Started
Below is an example approach to rendering custom content into a Mandrill template called "welcome email" and sending the rendered email.
package main
import (
"fmt"
"github.com/mattbaird/gochimp"
"os"
)
func main() {
apiKey := os.Getenv("MANDRILL_KEY")
mandrillApi, err := gochimp.NewMandrill(apiKey)
if err != nil {
fmt.Println("Error instantiating client")
}
templateName := "welcome email"
contentVar := gochimp.Var{"main", "<h1>Welcome aboard!</h1>"}
content := []gochimp.Var{contentVar}
_, err = mandrillApi.TemplateAdd(templateName, fmt.Sprintf("%s", contentVar.Content), true)
if err != nil {
fmt.Println("Error adding template: %v", err)
return
}
defer mandrillApi.TemplateDelete(templateName)
renderedTemplate, err := mandrillApi.TemplateRender(templateName, content, nil)
if err != nil {
fmt.Println("Error rendering template: %v", err)
return
}
recipients := []gochimp.Recipient{
gochimp.Recipient{Email: "[email protected]"},
}
message := gochimp.Message{
Html: renderedTemplate,
Subject: "Welcome aboard!",
FromEmail: "[email protected]",
FromName: "Boss Man",
To: recipients,
}
_, err = mandrillApi.MessageSend(message, false)
if err != nil {
fmt.Println("Error sending message")
}
}
# Functions
see https://mandrillapp.com/api/docs/ currently supporting json output formats.
# Constants
format string for time.Format.
# Structs
Mailchimp does not conform to RFC3339 format, so we need custom UnmarshalJSON.
four types of error
Invalid_Key
- The provided API key is not a valid Mandrill API key
ValidationError
- The parameters passed to the API call are invalid or not provided when required
GeneralError
- An unexpected error occurred processing the request.
MessageSendOptions wraps options for MessageSend API call.