email alternatives and similar packages
Based on the "Email" category.
Alternatively, view email 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. -
go-mail
:incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp) -
truemail-go
๐ Configurable Golang ๐จ email validator/verifier. Verify email via Regex, DNS, SMTP and even more. Be sure that email address valid and exists.
Static code analysis for 29 languages.
Do you think we are missing an alternative of email or a related project?
Popular Comparisons
README
Robust and flexible email library for Go
Email for humans
The email
package is designed to be simple to use, but flexible enough so as not to be restrictive. The goal is to provide an email interface for humans.
The email
package currently supports the following:
- From, To, Bcc, and Cc fields
- Email addresses in both "[email protected]" and "First Last <[email protected]>" format
- Text and HTML Message Body
- Attachments
- Read Receipts
- Custom headers
- More to come!
Installation
go get github.com/jordan-wright/email
Note: Version > 1 of this library requires Go v1.5 or above.
If you need compatibility with previous Go versions, you can use the previous package at gopkg.in/jordan-wright/email.v1
Examples
Sending email using Gmail
e := email.NewEmail()
e.From = "Jordan Wright <[email protected]>"
e.To = []string{"[email protected]"}
e.Bcc = []string{"[email protected]"}
e.Cc = []string{"[email protected]"}
e.Subject = "Awesome Subject"
e.Text = []byte("Text Body is, of course, supported!")
e.HTML = []byte("<h1>Fancy HTML is supported, too!</h1>")
e.Send("smtp.gmail.com:587", smtp.PlainAuth("", "[email protected]", "password123", "smtp.gmail.com"))
Another Method for Creating an Email
You can also create an email directly by creating a struct as follows:
e := &email.Email {
To: []string{"[email protected]"},
From: "Jordan Wright <[email protected]>",
Subject: "Awesome Subject",
Text: []byte("Text Body is, of course, supported!"),
HTML: []byte("<h1>Fancy HTML is supported, too!</h1>"),
Headers: textproto.MIMEHeader{},
}
Creating an Email From an io.Reader
You can also create an email from any type that implements the io.Reader
interface by using email.NewEmailFromReader
.
Attaching a File
e := NewEmail()
e.AttachFile("test.txt")
A Pool of Reusable Connections
(var ch <-chan *email.Email)
p := email.NewPool(
"smtp.gmail.com:587",
4,
smtp.PlainAuth("", "[email protected]", "password123", "smtp.gmail.com"),
)
for i := 0; i < 4; i++ {
go func() {
for e := range ch {
p.Send(e, 10 * time.Second)
}
}()
}
Documentation
http://godoc.org/github.com/jordan-wright/email
Other Sources
Sections inspired by the handy gophermail project.
Contributors
I'd like to thank all the contributors and maintainers of this package.
A special thanks goes out to Jed Denlea jeddenlea for his numerous contributions and optimizations.