Commit Graph

392 Commits

Author SHA1 Message Date
Paolo Barbolini
a4c0af9cf1 message: generate a shorter multipart boundary (#523)
Fixes https://tools.ietf.org/tools/msglint/ warning about the
Content-Type header being too long.

I looked at many emails I received over time and I couldn't find
any with a boundary as long as ours, so this isn't only justified
by making some tool happy.
2020-12-22 22:30:09 +01:00
Paolo Barbolini
ad9699827e message: more body improvements (#519) 2020-12-18 14:49:59 +01:00
Paolo Barbolini
f06b8f3823 Return base64 as the Default Content-Transfer-Encoding 2020-12-06 16:23:33 +01:00
Paolo Barbolini
170e929a2b refactor: Message body encoder 2020-12-06 16:23:33 +01:00
Alexis Mousset
4e13963bf3 add docs 2020-11-25 21:00:03 +01:00
Alexis Mousset
ca6399acbf add docs 2020-11-25 21:00:03 +01:00
Alexis Mousset
3f03b6296b feat(transport): Add the ability to save envelope as JSON in file transport
This will make it possible to read the message and send it later
properly.
2020-11-25 21:00:03 +01:00
Federico Guerinoni
0e3526c1bc src/message: Add test for email with png
Signed-off-by: Federico Guerinoni <guerinoni.federico@gmail.com>
2020-11-22 17:45:52 +01:00
Federico Guerinoni
50ac1cdbec src/message: Improve example
Signed-off-by: Federico Guerinoni <guerinoni.federico@gmail.com>
2020-11-22 17:45:52 +01:00
RotationMatrix
227da8ac09 Add HTML examples (#496)
* Add HTML email example

* Add comment about creating `SmtpTransportBuilder`

Add similar comment to `AsyncSmtpTransportBuilder`

* Improve wording and fix typos

* Add file_html example to Cargo.toml

* Update examples/README.md

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Use intra-doc links

* Rename file_html example to basic_html

* Add maud HTML example

* Make CI happy

* Fix CSS

* Fix maud version

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>
2020-11-22 17:29:09 +01:00
Paolo Barbolini
65d952a64f Remove serde_json from public dependencies (#510) 2020-11-12 15:28:33 +01:00
azul
2e8d43baae feat(transport-file): eml format instead of json (#505)
Change FileTransport to save into .eml format
fixes #499.
2020-11-12 15:14:54 +01:00
Alexis Mousset
648cf4ce5e Prepare 0.10.0-alpha.4 release 2020-11-11 17:18:02 +01:00
Alexis Mousset
4a9d4fbf7e fix(transport-sendmail): Capture sendmail stderr to make possible to debug 2020-11-11 17:14:58 +01:00
Alexis Mousset
a0da9fc2b9 fix(transport-sendmail): Only pass -f option to sendmail when needed 2020-11-11 17:14:58 +01:00
Alexis Mousset
aa31e4fff6 fix(transport-sendmail): Stop argument parsing before destination addresses 2020-11-11 17:14:58 +01:00
Paolo Barbolini
b187885e70 Upgrade to nom 6 2020-11-02 10:00:45 +01:00
Manuel Pelloni
0de49c000c Refactor CI configuration and fix building with some combination of features (#494)
* Wip CI refactor, Fix cargo hack test --each-feature

* CI Refactor

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Update src/transport/stub/mod.rs

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Adress code review comment

* Update .github/workflows/test.yml

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

* Adress review comment

* Add necessary sudo command to install postfix

* Set the action name which setup the cache to Setup cache

* Fix delimiter error

* Fix cargo hack test --each-feature

* Remove blanks before no_run

* Remove useless # before imports in doc tests

* Add builder as required feature for all the examples

* Remove blanks before no_run

* Add builder to the test cfg

* Fix building with tokio03-rustls-tls

* Minor improvements

* Use cargo hack only for check in stable

* Improve chache key

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>

Co-authored-by: Paolo Barbolini <paolo@paolo565.org>
2020-10-29 21:08:29 +01:00
Benjamin Beckwith
13b48b656d Replace unwrap in doc examples (#491)
Replace any `unwrap` calls in documentation examples by `?` per
the guidance here:
https://rust-lang.github.io/api-guidelines/documentation.html#examples-use--not-try-not-unwrap-c-question-mark
2020-10-23 08:17:39 +00:00
Manuel Pelloni
2ac6a72a8e chore(all): Remove rarely used top level re-exports 2020-10-21 22:08:56 +02:00
Alexis Mousset
f1e86c809d chore(all): Prepare 0.10.0-alpha.3 release 2020-10-21 22:08:56 +02:00
Manuel Pelloni
0b8d5d20ad Refactor address module and move Envelope into it (#488) 2020-10-21 17:44:51 +02:00
Paolo Barbolini
313eb74ea5 Fix MSRV in docs 2020-10-20 09:31:27 +02:00
ghizzo01
6afc078545 Avoid boxing the rustls stream (#486) 2020-10-19 21:21:22 +02:00
Paolo Barbolini
697da9f7db Tokio 0.3 support (#485)
* Tokio 0.3 support

* Tokio 0.3 TLS support

* Tokio 0.3 sendmail transport

* Tokio 0.3 file transport

* Forgotten re-exports

* Tokio 0.3 examples

* fix tokio 0.2 file-transport

* It works
2020-10-19 10:07:36 +02:00
Paolo Barbolini
1ea562b15a Stop exposing internal encoder implementation 2020-10-13 23:52:45 +02:00
Paolo Barbolini
b43c69af47 Allow changing defaults for the connection pool configuration 2020-10-13 09:33:00 +02:00
RotationMatrix
449f317246 Add doc_cfg attributes (#483)
* docs(Cargo.toml): Add `cfg(docsrs)` to `rustdoc` args

* docs(all): Enable doc_cfg crate feature

* docs(transport): Add doc_cfg to Transport traits

* docs(all): Add doc_cfg to public modules

* docs(transport-async): Add doc_cfg to Tokio02Connector

* docs(transport-smtp): Add doc_cfg to Smtp Error

* docs(transport-smtp): Add doc_cfg to TlsParameters
2020-10-13 09:18:41 +02:00
Paolo Barbolini
17d644181a Fix building with no default features 2020-10-13 09:10:46 +02:00
Paolo Barbolini
583df6af18 Fix Rust 2018 Idioms 2020-10-13 09:03:32 +02:00
Paolo Barbolini
ed9ca92de8 Bump our MSRV to 1.45.2 2020-10-13 09:03:32 +02:00
Paolo Barbolini
6526eff5b2 Allow configuring a custom root certificate in TlsParametersBuilder 2020-10-04 10:17:09 +02:00
dvermd
e00eff8b2a Implement From for Credentials 2020-10-02 08:52:56 +02:00
Alexander Jackson
5beef57c18 fix(email): Make doctest rustc-1.40 compatible 2020-09-29 19:48:10 +02:00
Alexander Jackson
b10b04ada8 docs(email): Add doctests/examples
Add doctests/examples for `Address`, `Mailbox`, `Mailboxes` and
`Envelope`.
2020-09-29 19:48:10 +02:00
Paolo Barbolini
30a8797acf Add TlsParametersBuilder with dangerous options 2020-09-23 19:18:24 +02:00
Julien Blatecky
c5fef28ac9 Add Content-ID header for attachments 2020-09-23 19:17:34 +02:00
Paolo Barbolini
bf32554e51 chore: fix unused mut warning 2020-09-09 13:12:26 +02:00
Paolo Barbolini
e156520feb clippy: fix warnings in tests
Makes running 'cargo clippy --all-features --tests' work
2020-09-09 13:12:26 +02:00
Paolo Barbolini
ec7d63c8de chore: AsRef is part of Rust's prelude 2020-09-09 13:12:26 +02:00
Paolo Barbolini
e5460c4ba1 Implement Clone for SendmailTransport 2020-09-09 13:12:26 +02:00
Paolo Barbolini
d2912a3e3f fix: Default impl for SendmailTransport 2020-09-09 13:12:26 +02:00
Alexis Mousset
990de687aa chore(all): Prepare 0.10.0-alpha.2 release 2020-09-09 09:53:54 +02:00
Alexis Mousset
31a3be1cba run cargo fmt 2020-09-09 09:46:53 +02:00
Alexis Mousset
47dfdf7ee8 Add back removed examples 2020-09-09 09:46:53 +02:00
Manuel Pelloni
47c4077b14 Improve documentation
Co-authored-by: Paolo Barbolini <paolo@paolo565.org>
2020-09-09 09:46:53 +02:00
Manuel Pelloni
8869c7fdb4 Remove no_run from examples 2020-09-09 09:46:53 +02:00
Manuel Pelloni
3cf89935af Improve documentation 2020-09-09 09:46:53 +02:00
Paolo Barbolini
f87c80e05c Update rustdoc html_favicon_url to use the new lettre.rs domain 2020-09-08 22:48:37 +02:00
Paolo Barbolini
1c4a3f0fb3 chore: remove SmtpClient from the public API
We don't provide a method to construct it anyway, so it doesn't make sense
to expose it.
2020-09-08 22:48:37 +02:00