- Bump
hostname
to v0.4 (#956) - Fix
tracing
message consistency (#960) - Bump minimum required
rustls
to v0.23.5 (#958) - Dropped use of
ref
syntax in the entire project (#959)
- Upgraded
email-encoding
to v0.3 - fixing multiple encoding bugs in the process (#952)
- Updated copyright year in license (#954)
- Support SMTP SASL draft login challenge (#911)
- Add conversion from SMTP response code to integer (#941)
- Upgrade
rustls
to v0.23 (#950) - Bump
base64
to v0.22 (#945) - Fix typos in documentation (#943, #944)
- Add
Cargo.lock
(#942)
- Percent decode credentials in SMTP connect URL (#932, #934)
- Fix mimebody DKIM body-hash computation (#923)
- MSRV is now 1.70 (#916)
- Fix
webpki-roots
certificate store setup (#909)
While this release technically contains breaking changes, we expect most projects
to be able to upgrade by only bumping the version in Cargo.toml
.
- Improve mailbox parsing (#839)
- Add construction of SMTP transport from URL (#901)
- Add
From<Address>
implementation forMailbox
(#879)
- Bump
socket2
to v0.5 (#868) - Bump
idna
to v0.4,fastrand
to v2,quoted_printable
to v0.5,rsa
to v0.9 (#882) - Bump
webpki-roots
to v0.25 (#884 and #890) - Bump
ed25519-dalek
to v2 fixing RUSTSEC-2022-0093 (#896) - Bump
boring
ssl crates to v3 (#897)
- Bumped rustls to 0.21 and all related dependencies (#867)
It was found that what had been used until now as a basic lettre 0.10
MessageBuilder::body
example failed to mention that for maximum
compatibility with various email clients a Content-Type
header
should always be present in the message.
Message::builder()
// [...] some headers skipped for brevity
.body(String::from("A plaintext or html body"))?
Message::builder()
// [...] some headers skipped for brevity
+ .header(ContentType::TEXT_PLAIN) // or `TEXT_HTML` if the body is html
.body(String::from("A plaintext or html body"))?
- Add support for rustls-native-certs when using rustls (#843)
- MSRV is now 1.60 (#828)
- Allow providing a custom
tokio
stream forAsyncSmtpTransport
(#805) - Return whole SMTP error message (#821)
- Mailbox displays wrongly when containing a comma and a non-ascii char in its name (#827)
- Require
quoted_printable
^0.4.6 in order to fix encoding of tabs and spaces at the end of line (#837)
- Increase tracing (#848)
- Bump
idna
to 0.3 (#816) - Update
base64
to 0.21 (#840 and #851) - Update
rsa
to 0.8 (#829 and #852)
- Add
boring-tls
support forSmtpTransport
andAsyncSmtpTransport
. The latter is only supported with the tokio runtime. (#797) (#798) - Make the minimum TLS version configurable. (#799) (#800)
Several breaking changes were made between 0.9 and 0.10, but changes should be straightforward:
- MSRV is now 1.56.0
- 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
sendmail
andfile
transports aren't enabled by default anymore. - 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