/go-gmime

Primary LanguageGoOtherNOASSERTION

go-gmime

This project is a binding of the C-based GMime library for Golang.

Dependencies

  • Go1.17
  • GMime >= v3.0

Usage

Just add library with:

go get github.com/sendgrid/go-gmime/gmime

Setup for development

For OSX

# install required packages
brew install go gmime

Examples

See cmd/gmime/main.go for examples

Testing / Coverage

# run all tests on host machine
go test ./gmime/...

# run all tests in Docker container
docker build . -t docker.io/library/go-gmime
docker run -it -v $(pwd):/go/src/github.com/sendgrid/go-gmime docker.io/library/go-gmime
go test ./gmime/...

Memory Check

We use Valgrind to check for memory leaks. The provided Dockerfile should setup a container ready to run Valgrind

bin/valgrind	

Contributing

# Don't forget to run gofmt before commiting
go fmt ./...

Afterwards, submit a PR for review.

License

go-gmime is licensed under the terms of the MIT license reproduced below. This means that go-gmime is free software and can be used for both academic and commercial purposes at absolutely no cost.