go-mail alternatives and similar packages
Based on the "Email" category.
Alternatively, view go-mail alternatives based on common mentions on social networks and blogs.
-
hermes
Golang package that generates clean, responsive HTML e-mails for sending transactional mail -
email-verifier
:white_check_mark: A Go library for email verification without sending any emails. -
chasquid
SMTP (email) server with a focus on simplicity, security, and ease of operation [mirror] -
go-simple-mail
Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP. -
paperboy
๐๐จ Email Campaign Delivery built with GoLang inspired by GoHugo -
go-message
:envelope: A streaming Go library for the Internet Message Format and mail messages -
Mailchain
Using Mailchain, blockchain users can now send and receive rich-media HTML messages with attachments via a blockchain address. -
truemail-go
๐ Configurable Golang ๐จ email validator/verifier. Verify email via Regex, DNS, SMTP and even more. Be sure that email address valid and exists.
Access the most powerful time series database as a service
Do you think we are missing an alternative of go-mail or a related project?
Popular Comparisons
README
go-mail
Lightweight email package with multi-provider support (ses, mandrill, postmark)
Table of Contents
- Installation
- Documentation
- Examples & Tests
- Benchmarks
- Code Standards
- Usage
- Maintainers
- Contributing
- License
Installation
go-mail requires a supported release of Go. ```shell script go get -u github.com/mrz1836/go-mail
<br/>
## Documentation
View the generated [documentation](https://pkg.go.dev/github.com/mrz1836/go-mail)
[](https://pkg.go.dev/github.com/mrz1836/go-mail)
### Features
- Supports multiple service providers _(below)_
- Support basic [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
- Plain-text and HTML content
- Multiple file attachments
- Open & click tracking _(provider dependant)_
- Inject css into html content
- Basic template support
- Max restrictions on `To`, `CC` and `BCC`
<details>
<summary><strong><code>Supported Service Providers</code></strong></summary>
<br/>
- [AWS SES](https://docs.aws.amazon.com/ses/)
- [Mandrill](https://mandrillapp.com/api/docs/)
- [Postmark](https://postmarkapp.com/developer)
- [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
</details>
<details>
<summary><strong><code>Package Dependencies</code></strong></summary>
<br/>
- domodwyer's [mailyak](https://github.com/domodwyer/mailyak)
- keighl's [postmark](https://github.com/mrz1836/postmark)
- mattbaird's [gochimp](https://github.com/mattbaird/gochimp)
- mrz's [go-ses](https://github.com/mrz1836/go-ses)
- aymerick's [douceur](https://github.com/aymerick/douceur)
</details>
<details>
<summary><strong><code>Library Deployment</code></strong></summary>
<br/>
[goreleaser](https://github.com/goreleaser/goreleaser) for easy binary or library deployment to Github and can be installed via: `brew install goreleaser`.
The [.goreleaser.yml](.goreleaser.yml) file is used to configure [goreleaser](https://github.com/goreleaser/goreleaser).
Use `make release-snap` to create a snapshot version of the release, and finally `make release` to ship to production.
</details>
<details>
<summary><strong><code>Makefile Commands</code></strong></summary>
<br/>
View all `makefile` commands
```shell script
make help
List of all current commands:
all Runs multiple commands
clean Remove previous builds and any test cache data
clean-mods Remove all the Go mod cache
coverage Shows the test coverage
godocs Sync the latest tag with GoDocs
help Show this help message
install Install the application
install-go Install the application (Using Native Go)
lint Run the Go lint application
release Full production release (creates release in Github)
release Runs common.release then runs godocs
release-snap Test the full release (build binaries)
release-test Full production test release (everything except deploy)
replace-version Replaces the version in HTML/JS (pre-deploy)
run-examples Runs all the examples
tag Generate a new tag and push (tag version=0.0.0)
tag-remove Remove a tag if found (tag-remove version=0.0.0)
tag-update Update an existing tag to current commit (tag-update version=0.0.0)
test Runs vet, lint and ALL tests
test-short Runs vet, lint and tests (excludes integration tests)
test-travis Runs all tests via Travis (also exports coverage)
test-travis-short Runs unit tests via Travis (also exports coverage)
uninstall Uninstall the application (and remove files)
vet Run the Go vet application
Examples & Tests
All unit tests and [examples](examples/examples.go) run via Travis CI and uses Go version 1.15.x. View the [deployment configuration file](.travis.yml).
Run all tests (including integration tests) ```shell script make test
Run tests (excluding integration tests)
```shell script
make test-short
Run the examples: ```shell script make run-examples
<br/>
## Benchmarks
Run the Go benchmarks:
```shell script
make bench
Code Standards
Read more about this Go project's [code standards](CODE_STANDARDS.md).
Usage
View the [examples](examples/examples.go)
Maintainers
MrZ |
Contributing
View the [contributing guidelines](CONTRIBUTING.md) and follow the [code of conduct](CODE_OF_CONDUCT.md).
How can I help?
All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:. You can also support this project by becoming a sponsor on GitHub :clap: or by making a bitcoin donation to ensure this journey continues indefinitely! :rocket:
License
*Note that all licence references and agreements mentioned in the go-mail README section above
are relevant to that project's source code only.