24 KiB
v0.11.19 (2025-10-08)
Features
- Add raw header setter to
MessageBuilder(#1108)
Misc
v0.11.18 (2025-07-28)
Features
- Allow inline attachments to be named (#1101)
Misc
- Upgrade
socket2to v0.6 (#1098)
v0.11.17 (2025-06-06)
Features
- Add support for
rustls-platform-verifier(#1081)
Misc
- Change readme example to use
Mailbox::newinstead of string parsing (#1090) - Replace futures-util
Mutexwith stdMutexinAsyncStubTransport(#1091) - Avoid duplicate
abort_concurrentimplementation (#1092)
v0.11.16 (2025-05-12)
Features
- Always implement
CloneforAsyncFileTransport(#1075)
Changes
Tls,CertificateStore,TlsParameters,TlsParametersBuilder,CertificateandIdentityare now marked as deprecated when no TLS backend is enabled. They will be properly feature gated in lettre v0.12 (#1084)
Misc
- Gate
web-timebehindcfg(target_arch = "wasm32")](#1086) - Add missing
#[doc(cfg(...))]attributes (#1086) - Upgrade
webpki-rootsto v1 (#1088) - Cleanup internal
TlsParametersand(Async)NetworkStreamstructures (#1082) - Feature gate internal
TransportBuilder::tlsto avoid recursive call site warnings (#1083) - Fix workaround for embedding cargo script in rustdoc output (#1077)
- Fix
clippy::io_other_errorwarnings (#1078) - Upgrade semver compatible dependencies (#1076, #1079, #1080)
v0.11.15 (2025-03-10)
Upgrade notes
- MSRV is now 1.74 (#1060)
Features
Misc
- Deny
unreachable_publint (#1058) - Bump minimum supported
rustls(#1063) - Bump minimum supported
serde(#1064) - Upgrade semver compatible dependencies (#1067)
- Upgrade
email-encodingto v0.4 (#1069)
v0.11.14 (2025-02-23)
This release deprecates the rustls-tls, tokio1-rustls-tls and async-std1-rustls-tls
features, which will be removed in lettre v0.12.
rustls users should start migrating to the rustls, tokio1-rustls and
async-std1-rustls features. Unlike the deprecated *rustls-tls features,
which automatically enabled the ring and webpki-roots backends, the new
features do not. To complete the migration, users must either enable the
aws-lc-rs or the ring feature. Additionally, those who rely on webpki-roots
for TLS certificate verification must now explicitly enable its feature.
Users of rustls-native-certs do not need to enable webpki-roots.
Find out more about the new features via the lettre rustls docs.
Features
- Make it possible to use different
rustlscrypto providers and TLS verifiers (#1054)
Bug fixes
- Use the same
rustlscrypto provider everywhere (#1055)
Misc
- Deprecate
AsyncNetworkStreambeing public (#1059) - Upgrade
nomto v8 (#1048) - Drop
rustls-pemfilein favor ofrustls-pki-typesAPIs (#1050) - Ban direct use of
std::time::SystemTime::nowvia clippy (#1043) - Drop direct dependency on
rustls-pki-types(#1051) - Remove artifact from
web-timerefactor (#1049) - Fix warnings with
rustls-native-certswhentracingis disabled (#1053) - Bump license year (#1057)
- Cleanup
Cargo.tomlstyle (#1047)
v0.11.13 (2025-02-17)
Features
Bug fixes
- Synchronous pool shutdowns being arbitrarily delayed (#1041)
v0.11.12 (2025-02-02)
Misc
- Warn against manually configuring
portandtlson SMTP transport builder (#1014) - Document variants of
Tlsenum (#1015) - Fix rustdoc warnings (#1016)
- Add
ContentType::TEXT_PLAINtoMessagebuilder examples (#1017) - Document
SmtpTransportandAsyncSmtpTransport(#1018) - Fix typo in transport builder
credentialsmethod (#1019) - Document required system dependencies for OpenSSL (#1030)
- Improve docs for the
transport::smtpmodule (#1031) - Improve docs for smtp transport builder
from_url(#1032) - Replace
assert!with?onsendexamples (#1033) - Warn on more pedantic clippy lints and fix them (#1035, #1036)
v0.11.11 (2024-12-05)
Upgrade notes
- MSRV is now 1.71 (#1008)
Bug fixes
- Fix off-by-one error reaching the minimum number of configured pooled connections (#1012)
Misc
v0.11.10 (2024-10-23)
Bug fixes
- Ignore disconnect errors when
poolfeature of SMTP transport is disabled (#999) - Use case insensitive comparisons for matching login challenge requests (#1000)
v0.11.9 (2024-09-13)
Bug fixes
- Fix feature gate for
accept_invalid_hostnamesfor rustls (#988) - Fix parsing
Mailboxwith trailing spaces (#986)
Misc
v0.11.8 (2024-09-03)
Features
- Add mTLS support (#974)
- Implement
accept_invalid_hostnamesfor rustls (#977) - Provide certificate chain for peer certificates when using
rustlsorboring-tls(#976)
Changes
- Make
HeaderNamecomparisons viaPartialEqcase insensitive (#980)
Misc
- Fix clippy warnings ([#979])
- Replace manual impl of
#[non_exhaustive]forInvalidHeaderName(#981)
v0.11.7 (2024-04-23)
Misc
- Bump
hostnameto v0.4 (#956) - Fix
tracingmessage consistency (#960) - Bump minimum required
rustlsto v0.23.5 (#958) - Dropped use of
refsyntax in the entire project (#959)
v0.11.6 (2024-03-28)
Bug fixes
- Upgraded
email-encodingto v0.3 - fixing multiple encoding bugs in the process (#952)
Misc
- Updated copyright year in license (#954)
v0.11.5 (2024-03-25)
Features
- Support SMTP SASL draft login challenge (#911)
- Add conversion from SMTP response code to integer (#941)
Misc
- Upgrade
rustlsto v0.23 (#950) - Bump
base64to v0.22 (#945) - Fix typos in documentation (#943, #944)
- Add
Cargo.lock(#942)
v0.11.4 (2024-01-28)
Bug fixes
- Percent decode credentials in SMTP connect URL (#932, #934)
- Fix mimebody DKIM body-hash computation (#923)
v0.11.3 (2024-01-02)
Features
Misc
v0.11.2 (2023-11-23)
Upgrade notes
- MSRV is now 1.70 (#916)
Misc
v0.11.1 (2023-10-24)
Bug fixes
- Fix
webpki-rootscertificate store setup (#909)
v0.11.0 (2023-10-15)
While this release technically contains breaking changes, we expect most projects
to be able to upgrade by only bumping the version in Cargo.toml.
Upgrade notes
Features
- Improve mailbox parsing (#839)
- Add construction of SMTP transport from URL (#901)
- Add
From<Address>implementation forMailbox(#879)
Misc
- Bump
socket2to v0.5 (#868) - Bump
idnato v0.4,fastrandto v2,quoted_printableto v0.5,rsato v0.9 (#882) - Bump
webpki-rootsto v0.25 (#884 and #890) - Bump
ed25519-dalekto v2 fixing RUSTSEC-2022-0093 (#896) - Bump
boringssl crates to v3 (#897)
v0.10.4 (2023-04-02)
Misc
- Bumped rustls to 0.21 and all related dependencies (#867)
v0.10.3 (2023-02-20)
Announcements
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.
Before
Message::builder()
// [...] some headers skipped for brevity
.body(String::from("A plaintext or html body"))?
Patch
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"))?
Features
- Add support for rustls-native-certs when using rustls (#843)
v0.10.2 (2023-01-29)
Upgrade notes
- MSRV is now 1.60 (#828)
Features
- Allow providing a custom
tokiostream forAsyncSmtpTransport(#805) - Return whole SMTP error message (#821)
Bug fixes
- 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)
Misc
- Increase tracing (#848)
- Bump
idnato 0.3 (#816) - Update
base64to 0.21 (#840 and #851) - Update
rsato 0.8 (#829 and #852)
v0.10.1 (2022-07-20)
Features
- Add
boring-tlssupport forSmtpTransportandAsyncSmtpTransport. The latter is only supported with the tokio runtime. (#797) (#798) - Make the minimum TLS version configurable. (#799) (#800)
Bug Fixes
v0.10.0 (2022-06-29)
Upgrade notes
Several breaking changes were made between 0.9 and 0.10, but changes should be straightforward:
- MSRV is now 1.56.0
- The
lettre_emailcrate has been merged intolettre. To migrate, replacelettre_emailwithlettre::messageand make sure to enable thebuilderfeature (it's enabled by default). SendableEmailhas been renamed toEmailandEmailBuilder::build()produces it directly. To migrate, renameSendableEmailtoEmail.- The
serde-implsfeature has been renamed toserde. To migrate, rename the feature.
Features
- Add
tokio1 support - Add
rustlssupport - Add
async-stdsupport. 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
Breaking Changes
- Merge
lettre_emailintolettre - Merge
EmailandSendableEmailintolettre::message::Email - SmtpTransport is now an high level SMTP client. It provides connection pooling and shortcuts for building clients using commonly desired values
- Refactor
TlsParametersimplementation to not expose the internal TLS library FileTransportwrites emails into.emlinstead of.json- When the hostname feature is disabled or hostname cannot be fetched,
127.0.0.1is used instead oflocalhostas EHLO parameter (for better RFC compliance and mail server compatibility) - The
sendmailandfiletransports aren't enabled by default anymore. - The
newmethod ofClientIdis deprecated - Rename
serde-implsfeature toserde - The
SendmailTransportnow uses thesendmailcommand in currentPATHby default instead of/usr/bin/sendmail.
Bug Fixes
- 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
domainfield
Misc
- Improve documentation, examples and tests
- Replace
line-wrap,email,bufstreamwith our own implementations - Remove
bytes - Remove
time - Remove
fast_chemail - Update
base64to 0.13 - Update
hostnameto 0.3 - Update to
nom6 - Replace
logwithtracing - Move CI to GitHub Actions
- Use criterion for benchmarks
v0.9.2 (2019-06-11)
Bug Fixes
- email:
- Fix compilation with Rust 1.36+ (393ef8d)
v0.9.1 (2019-05-05)
Features
- email:
- Re-export mime crate (a0c8fb9)
v0.9.0 (2019-03-17)
Bug Fixes
-
email:
-
transport:
Features
-
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:
v0.8.2 (2018-05-03)
Bug Fixes
- transport: Write timeout is not set in smtp transport (cc3580a8)
Style
- all: Fix typos (360c42ff)
Features
- 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)
v0.8.1 (2018-04-11)
Fix
- all:
- Replace skeptic by some custom rustdoc invocations (81bad131)
Documentation
- all:
Style
- transport-smtp: Avoid useless empty format strings (f3271715)
v0.8.0 (2018-03-31)
Added
- 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
ClientIdwhen available
Changed
- Detail in SMTP Response is now an enum
- Use nom for parsing smtp responses
Envelopewas moved fromlettre_emailtolettreEmailAddress::new()now returns aResultSendableEmailreplacesfromandtobyenvelopethat returns anEnvelopeFiletransport storage format has changed
Fixed
- 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
Removed
get_ehloandresetin SmtpTransport are now private
v0.7.0 (2017-10-08)
Added
- Allow validating server certificate
- Initial (incomplete) attachments support
Changed
- Split into the lettre and lettre_email crates
- A lot of small improvements
- Use tls-native instead of openssl in smtp transport
v0.6.2 (2017-02-18)
Changed
- Update env-logger crate to 0.4
- Update openssl crate to 0.9
- Update uuid crate to 0.4
v0.6.1 (2016-10-19)
Changes
- documentation
- #91: Build separate docs for each release
- #96: Add complete documentation information to README
Fixed
- #85: Use address-list for "To", "From" etc.
- #93: Force building tests before coverage computing
v0.6.0 (2016-05-05)
Changes
- multipart support
- add non-consuming methods for Email builders
add_headerdoes not return the builder anymore, for consistency with other methods. Use theheadermethod instead