Commit Graph

40 Commits

Author SHA1 Message Date
Alexis Mousset
a04866acfb Improve doc formatting (#539) 2021-02-05 08:39:00 +01:00
Alexis Mousset
9d8c31bef8 Fix smtp doc examples (#536)
* Fix smtp examples

Make TlsParametersBuilder a consuming builder
as `build()` consumes it. It allows chaining methods.

* Format doc examples
2021-02-03 10:23:08 +01:00
Alexis Mousset
a0980d017b Make EmailFormat trait private (#535)
It does not need to be exposed.
2021-02-01 10:11:25 +00:00
Paolo Barbolini
7f384bc983 clippy: fix 1.49 lints (#530) 2021-01-05 21:26:58 +00:00
Paolo Barbolini
d8c4a66206 Update rand to 0.8 (#527) 2021-01-05 22:02:10 +01:00
Paolo Barbolini
aac5c9929f message: improve docs (#521) 2020-12-23 18:20:00 +00:00
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
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
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
Manuel Pelloni
0b8d5d20ad Refactor address module and move Envelope into it (#488) 2020-10-21 17:44:51 +02:00
Paolo Barbolini
1ea562b15a Stop exposing internal encoder implementation 2020-10-13 23:52:45 +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
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
Julien Blatecky
c5fef28ac9 Add Content-ID header for attachments 2020-09-23 19:17:34 +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
Alexis Mousset
47dfdf7ee8 Add back removed examples 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
04b42879b0 refactor: optimize parts of the code
Uses the much faster `slice::is_ascii` implementation and avoids copying `v` in `utf8_b.rs`
2020-09-01 15:36:27 +02:00
Paolo Barbolini
49787e0c41 chore: avoid collecting iterators when possible 2020-08-04 11:44:47 +02:00
Paolo Barbolini
6c440bda73 chore: minor improvements 2020-08-04 11:44:47 +02:00
Paolo Barbolini
8fa66c1e0f clippy: fix warning from #444 2020-08-02 21:48:26 +02:00
Paolo Barbolini
72015da467 Add support for encrypted and signed multipart emails (#444)
Co-authored-by: Tim Anderson <tim@claritynetworks.com.au>
2020-08-02 21:47:37 +02:00
Alexis Mousset
df6169bc98 Merge pull request #436 from paolobarbolini/line-wrap
Remove line-wrap crate and replace it with slice.chunks
2020-07-26 15:32:23 +02:00
Paolo Barbolini
9e24786f67 Fix broken docs links 2020-07-26 11:40:22 +02:00
Paolo Barbolini
c41948ccd8 Remove line-wrap crate and replace it with slice.chunks 2020-07-22 18:52:51 +02:00
Danilo Bargen
427fb4e35c Replace textnonce with rand
The textnonce dependency pulls in quite a few transitive dependencies.
However, we only use the dependency in a single location, to generate
MIME boundaries. For this, we can use `rand` directly (which is already
a transitive dependency anyways, since it's required by uuid).

This reduces the dependency count for a standard build from 117 to 105.
2020-07-03 16:07:02 +02:00
Alexis Mousset
ce08d9e8aa feat(builder): Add a content-type method
for SinglePart
2020-05-09 11:27:25 +02:00
Alexis Mousset
6499bfe3d4 fix(builder): Fail if required headers are missing (fixes #95) 2020-05-06 20:36:36 +02:00
Alexis Mousset
ed9f38d2c8 feat(builder): Allow overriding envelope 2020-05-03 22:03:45 +02:00
Alexis Mousset
8425f1d7c4 chore(all): Move docs from website into API doc 2020-05-03 11:21:47 +02:00
Alexis Mousset
a661de16c9 fix(all): Rustfmt 2020-04-29 10:18:14 +02:00
Alexis Mousset
7f22a98f2f feat(builder): Improve Message representation
* Remove bytes dependency and rely directly on bytes vec
* Allow encoding non-utf-8 strings
* Use Vec<u8> instead of Display for email formatting
2020-04-28 23:45:03 +02:00
Alexis Mousset
53aa5b4df6 Replace email builder by a new implementation (#393)
* Update dependencies (#386)

* Update dependencies and set MSRV to 1.40

* update hyperx

* Use display instead of description for errors

* Make hostname an optional feature

* Envelope from headers

* Update hyperx to 1.0

* rename builder to message

* Cleanup and make Transport send Messages

* Update rustls from 0.16 to 0.17

* Move transports into a common folder

* Merge imports from same crate

* Add message creation example to the site

* Hide "extern crate" in doc examples

* Add References and In-Reply-To methods

* Add message-id header

* Add blog posts and improve doc examples
2020-04-18 21:10:03 +00:00