/smtpapi-go

Wrapper for SendGrid's X-SMTPAPI in Go

Primary LanguageGo

SMTP-API

This is a simple library to simplify the process of using SendGrid's X-SMTPAPI.

BuildStatus

Examples

New Header

header := smtpapi.NewSMTPAPIHeader()

Recipients

header.AddTo("addTo@mailinator.com")
// or
tos := []string{"test@test.com", "test@email.com"}
header.AddTos(tos)
// or
header.SetTos(tos)

Substitutions

header.AddSubstitution("key", "value")
// or
values := []string{"value1", "value2"}
header.AddSubstitutions("key", values)
//or
sub := make(map[string][]string)
sub["key"] = values
header.SetSubstitutions(sub)

Section

header.AddSection("section", "value")
// or
sections := make(map[string]string)
sections["section"] = "value"
header.SetSections(sections)

Category

header.AddCategory("category")
// or
categories := []string{"setCategories"}
header.AddCategories(categories)
// or
header.SetCategories(categories)

Unique Arguments

header.AddUniqueArg("key", "value")
// or
args := make(map[string]string)
args["key"] = "value"
header.SetUniqueArgs(args)

Filters

header.AddFilter("filter", "setting", "value")
// or
filter := &Filter{
  Settings: make(map[string]string),
}
filter.Settings["enable"] = "1"
filter.Settings["text/plain"] = "You can haz footers!"
header.SetFilter("footer", filter)

JSONString

header.JSONString() //returns a JSON string representation of the headers

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Running Tests

go test -v
```

## MIT License