📧 Easy to use, yet comprehensive library for sending mails with Go https://go-mail.dev
Find a file
2022-03-14 10:33:58 +01:00
.idea Calling it a day... 2022-03-11 16:57:14 +01:00
auth Typos 2022-03-12 20:07:20 +01:00
.cirrus.yml Enable CirrusCI 2022-03-05 12:13:46 +01:00
.gitignore Initial commit 2022-03-05 12:03:35 +01:00
auth.go Some progress was made: 2022-03-12 15:10:01 +01:00
client.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
client_test.go More progress... calling it a day. 2022-03-09 16:52:23 +01:00
doc.go Typo fix 2022-03-09 17:30:35 +01:00
doc_test.go Lots of tests and helpers added 2022-03-13 10:49:07 +01:00
encoding.go Implemented MIME multipart handling for alternative content 2022-03-13 17:15:23 +01:00
file.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
go.mod Forgot to update go.mod/.sum 2022-03-13 17:25:57 +01:00
go.sum Forgot to update go.mod/.sum 2022-03-13 17:25:57 +01:00
header.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
LICENSE Initial commit 2022-03-05 12:03:35 +01:00
msg.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
msg_test.go Make Linter happy 2022-03-13 17:58:47 +01:00
msgwriter.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
part.go v0.1.1: Added embeds/attachments 2022-03-14 10:29:53 +01:00
README.md Updated README.md 2022-03-14 10:33:15 +01:00
tls.go Slow progress 2022-03-07 16:24:49 +01:00
tls_test.go Lots of tests and helpers added 2022-03-13 10:49:07 +01:00

go-mail - Simple and easy way to send mails in Go

Go Report Card Build Status buy ma a coffee

The main idea of this library was to provide a simple interface to sending mails for my JS-Mailer project. It quickly evolved into a full-fledged mail library.

go-mail follows idiomatic Go style and best practice. It's only dependency is the Go Standard Library. It combines a lot of functionality from the standard library to give easy and convenient access to mail and SMTP related tasks.

Parts of this library (especially some parts of msgwriter.go) have been forked/ported from the go-mail/mail respectively go-gomail/gomail which both seems to not be maintained anymore.

Features

Some of the features of this library:

  • Only Standard Library dependant
  • Modern, idiomatic Go
  • Sane and secure defaults
  • SSL/TLS support
  • StartTLS support with different policies
  • Makes use of contexts for a better control flow and timeout/cancelation handling
  • SMTP Auth support (LOGIN, PLAIN, CRAM-MD5, DIGEST-MD5)
  • RFC5322 compliant mail address validation
  • Support for common mail header field generation (Message-ID, Date, Bulk-Precedence, etc.)
  • Reusing the same SMTP connection to send multiple mails
  • Support for attachments and inline embeds
  • Support for different encodings

Examples

The package is shipped with example code. Check it out on the packages GoDoc page