mirror of
https://github.com/wneessen/go-mail.git
synced 2024-12-18 17:00:38 +01:00
Update README to clarify library features and dependencies
Revised the README to provide clearer explanations of the library's origins, dependencies, and features. Added details on the small dependency footprint and enhanced SMTP Auth methods, and emphasized the concurrency-safe reuse of SMTP connections.
This commit is contained in:
parent
5b5991f17d
commit
e5b87db448
1 changed files with 13 additions and 12 deletions
25
README.md
25
README.md
|
@ -18,33 +18,34 @@ SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
<p align="center"><img src="./assets/gopher2.svg" width="250" alt="go-mail logo"/></p>
|
<p align="center"><img src="./assets/gopher2.svg" width="250" alt="go-mail logo"/></p>
|
||||||
|
|
||||||
The main idea of this library was to provide a simple interface to sending mails for
|
The main idea of this library was to provide a simple interface for sending mails to
|
||||||
my [JS-Mailer](https://github.com/wneessen/js-mailer) project. It quickly evolved into a full-fledged mail library.
|
my [JS-Mailer](https://github.com/wneessen/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
|
go-mail follows idiomatic Go style and best practice. It has a small dependency footprint by mainly relying on the
|
||||||
of functionality from the standard library to give easy and convenient access to mail and SMTP related tasks.
|
Go Standard Library and the Go extended packages. 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](msgwriter.go)) have been forked/ported from the
|
In the early days, parts of this library (especially some parts of [msgwriter.go](msgwriter.go)) have been
|
||||||
[go-mail/mail](https://github.com/go-mail/mail) respectively [go-gomail/gomail](https://github.com/go-gomail/gomail)
|
forked/ported from [go-mail/mail](https://github.com/go-mail/mail) and respectively [go-gomail/gomail](https://github.com/go-gomail/gomail). In
|
||||||
which both seems to not be maintained anymore.
|
the meantime most of the ported code has been refactored.
|
||||||
|
|
||||||
The smtp package of go-mail is forked from the original Go stdlib's `net/smtp` and then extended by the go-mail
|
The smtp package of go-mail has been forked from the original Go stdlib's `net/smtp` package and has then been extended
|
||||||
team.
|
by the go-mail team to fit the packages needs (more SMTP Auth methods, logging, concurrency-safety, etc.).
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
Some of the features of this library:
|
Here are some highlights of go-mail's featureset:
|
||||||
|
|
||||||
* [X] Only Standard Library dependant
|
* [X] Very small dependency footprint (mainly Go Stdlib and Go extended packages)
|
||||||
* [X] Modern, idiomatic Go
|
* [X] Modern, idiomatic Go
|
||||||
* [X] Sane and secure defaults
|
* [X] Sane and secure defaults
|
||||||
* [X] Explicit SSL/TLS support
|
* [X] Explicit SSL/TLS support
|
||||||
* [X] Implicit StartTLS support with different policies
|
* [X] Implicit StartTLS support with different policies
|
||||||
* [X] Makes use of contexts for a better control flow and timeout/cancelation handling
|
* [X] Makes use of contexts for a better control flow and timeout/cancelation handling
|
||||||
* [X] SMTP Auth support (LOGIN, PLAIN, CRAM-MD, XOAUTH2)
|
* [X] SMTP Auth support (LOGIN, PLAIN, CRAM-MD, XOAUTH2, SCRAM-SHA-1(-PLUS), SCRAM-SHA-256(-PLUS))
|
||||||
* [X] RFC5322 compliant mail address validation
|
* [X] RFC5322 compliant mail address validation
|
||||||
* [X] Support for common mail header field generation (Message-ID, Date, Bulk-Precedence, Priority, etc.)
|
* [X] Support for common mail header field generation (Message-ID, Date, Bulk-Precedence, Priority, etc.)
|
||||||
* [X] Reusing the same SMTP connection to send multiple mails
|
* [X] Concurrency-safe reusing the same SMTP connection to send multiple mails
|
||||||
* [X] Support for attachments and inline embeds (from file system, `io.Reader` or `embed.FS`)
|
* [X] Support for attachments and inline embeds (from file system, `io.Reader` or `embed.FS`)
|
||||||
* [X] Support for different encodings
|
* [X] Support for different encodings
|
||||||
* [X] Middleware support for 3rd-party libraries to alter mail messages
|
* [X] Middleware support for 3rd-party libraries to alter mail messages
|
||||||
|
|
Loading…
Reference in a new issue