Several breaking changes were made between 0.9 and 0.10, but changes should be straightforward:
- MSRV is now 1.49
- The
lettre_email
crate has been merged intolettre
. To migrate, replacelettre_email
withlettre::message
and make sure to enable thebuilder
feature (it's enabled by default). SendableEmail
has been renamed toEmail
andEmailBuilder::build()
produces it directly. To migrate, renameSendableEmail
toEmail
.- The
serde-impls
feature has been renamed toserde
. To migrate, rename the feature.
- Add
tokio
1 support - Add
rustls
support - Add
async-std
support. NOTE: native-tls isn't supported when using async-std for the smtp transport. - Allow enabling multiple SMTP authentication mechanisms
- Allow providing a custom message id
- Allow sending raw emails
- Merge
lettre_email
intolettre
- Merge
Email
andSendableEmail
intolettre::message::Email
- SmtpTransport is now an high level SMTP client. It provides connection pooling and shortcuts for building clients using commonly desired values
- Refactor
TlsParameters
implementation to not expose the internal TLS library FileTransport
writes emails into.eml
instead of.json
- When the hostname feature is disabled or hostname cannot be fetched,
127.0.0.1
is used instead oflocalhost
as EHLO parameter (for better RFC compliance and mail server compatibility) - The
new
method ofClientId
is deprecated - Rename
serde-impls
feature toserde
- The
SendmailTransport
now uses thesendmail
command in currentPATH
by default instead of/usr/bin/sendmail
.
- Fix argument injection in
SendmailTransport
(see RUSTSEC-2020-0069) - Correctly encode header values containing non-ASCII characters
- Timeout bug causing infinite hang
- Fix doc tests in website
- Fix docs for
domain
field
- Improve documentation, examples and tests
- Replace
line-wrap
,email
,bufstream
with our own implementations - Remove
bytes
- Remove
time
- Remove
fast_chemail
- Update
base64
to 0.13 - Update
hostname
to 0.3 - Update to
nom
6 - Replace
log
withtracing
- Move CI to Github Actions
- Use criterion for benchmarks
- email:
- Fix compilation with Rust 1.36+ (393ef8d)
- email:
- Re-export mime crate (a0c8fb9)
-
email:
-
transport:
-
all:
- Update dependencies
- Start using the failure crate for errors (c10fe3d)
-
transport:
- Remove TLS 1.1 in accepted protocols by default (only allow TLS 1.2) (4b48bdb)
- Initial support for XOAUTH2 (ed7c164)
- Remove support for CRAM-MD5 (bc09aa2)
- SMTP connection pool implementation with r2d2 (434654e)
- Use md-5 and hmac instead of rust-crypto (e7e0f34)
- Gmail transport simple example (a8d8e2a)
-
email:
- transport: Write timeout is not set in smtp transport (cc3580a8)
- all: Fix typos (360c42ff)
- all:
- Add set -xe option to build scripts (57bbabaa)
- Move post-success scripts to separate files (3177b58c)
- Add website upload to travis build script (a5294df6)
- Add codecov upload in travis (a03bfa00)
- Update README to put useful links at the top (1ebbe660)
- Update badges in README and Cargo.toml (f7ee5c42)
- Move docs from hugo to gitbook (27935e32)
- transport: Use md-5 and hmac instead of rust-crypto (0cf018a8)
- all:
- Replace skeptic by some custom rustdoc invocations (81bad131)
- all:
- transport-smtp: Avoid useless empty format strings (f3271715)
- Support binary files as attachment
- Move doc to a dedicated website
- Add tests for the doc using skeptic
- Added a code of conduct
- Use hostname as
ClientId
when available
- Detail in SMTP Response is now an enum
- Use nom for parsing smtp responses
Envelope
was moved fromlettre_email
tolettre
EmailAddress::new()
now returns aResult
SendableEmail
replacesfrom
andto
byenvelope
that returns anEnvelope
File
transport storage format has changed
- Add missing "Bcc" headers when building the email
- Specify utf-8 charset for html
- Use parts for text and html methods to work with attachments
get_ehlo
andreset
in SmtpTransport are now private
- Allow validating server certificate
- Initial (incomplete) attachments support
- Split into the lettre and lettre_email crates
- A lot of small improvements
- Use tls-native instead of openssl in smtp transport
- Update env-logger crate to 0.4
- Update openssl crate to 0.9
- Update uuid crate to 0.4
- documentation
- #91: Build separate docs for each release
- #96: Add complete documentation information to README
- #85: Use address-list for "To", "From" etc.
- #93: Force building tests before coverage computing
- multipart support
- add non-consuming methods for Email builders
add_header
does not return the builder anymore, for consistency with other methods. Use theheader
method instead