Birk Tjelmeland
12580d82f4
style(email): Change Part::body_raw to Part::format_body
2024-01-28 07:54:16 +01:00
Birk Tjelmeland
f7849078b8
fix(email): Fix mimebody DKIM body-hash computation
2024-01-28 07:54:16 +01:00
Luc Lenôtre
16c35ef583
added headers_mut function on Message ( #889 )
...
Co-authored-by: Alexis Mousset <contact@amousset.me >
2023-08-18 23:39:38 +02:00
Alexis Mousset
bbab86b484
A few spelling and doc fixes ( #900 )
2023-08-16 21:56:33 +02:00
Paolo Barbolini
2b6d457f85
clippy: deny str_to_string and empty_structs_with_brackets ( #857 )
2023-02-14 18:33:10 +01:00
Christian Mandery
3c2f996856
Fix broken URL for IETF user-agent draft ( #849 )
2023-01-16 11:34:30 +00:00
lfuerderer
9cae29dd07
Add Content-Type header in documentation example ( #841 )
...
* Add Content-Type header in documentation example
In the example showing how to build a message from a pure string, set
the Content-Type to text/plain explicitly.
This header constant also includes the phrase charset=utf-8 so that
non-ascii characters will be displayed correctly.
* cargo fmt
* Fix generated email example
Co-authored-by: Paolo Barbolini <paolo.barbolini@m4ss.net >
2022-12-16 22:04:29 +00:00
Paolo Barbolini
11b4acf0cd
Improve header encoding and wrapping ( #811 )
...
Also cleans up the encoder a lot, removing some
complicated logic introduced by the initial round
of implementation
2022-09-10 12:40:00 +02:00
Paolo Barbolini
99e805952d
Make it possible to keep the Bcc header when building a message ( #792 )
2022-06-29 21:08:27 +02:00
Paolo Barbolini
22dfa5aa96
MessageBuilder: improve order headers are defined in ( #783 )
2022-06-16 17:53:54 +00:00
Paolo Barbolini
b33dd562fc
Fix and improve header wrapping ( #774 )
...
Instead of injecting spaces to ensure that lines stay under 76 characters only wrap at whitespace characters. This avoids changing the headers.
A best-effort to keep lines under 76 characters is still done, however it is only done at whitespace. Notably there is no hard wrap enforced. This means that it is possible for headers to break the 1000 character line-length limit in the specification. It is just hoped that the receiver will allow long lines in this case.
Closes #688
Co-authored-by: Kevin Cox <kevincox@kevincox.ca >
2022-06-03 15:24:53 +02:00
Paolo Barbolini
65958df14f
Use pretty_assertions for all message tests ( #775 )
2022-06-02 12:20:06 +00:00
Kevin Cox
961364cc29
Remove unnecessary clone. ( #767 )
...
This is backwards-incompatible but hopefully is an acceptable change for a pre-release. The upgrade path is straight forward.
2022-05-18 10:51:02 +02:00
Vincent Breitmoser
c1d37d54b4
Use +0000 timezone format in Date header ( #756 )
...
Since the Date we emit is UTC, it's correct to use "+0000". The
previously used -0000 timezone indicator means "no timezone info".
2022-04-10 08:34:50 +02:00
Paolo Barbolini
e1462b2d1b
Bump MSRV to 1.56 - Edition 2021 ( #745 )
2022-03-24 05:52:28 +00:00
Paolo Barbolini
9273d24e54
Use nightly rustfmt features to improve code style ( #734 )
...
* format_code_in_doc_comments
* imports_granularity
* group_imports
* Add ci job
2022-02-12 20:03:37 +01:00
Gaëtan Duchaussois
4c5f02b4f6
feat(email): add dkim signing capacity to message ( #670 )
2022-02-12 09:21:35 +01:00
Kevin Cox
5e3ebbb189
Properly quote mailbox name ( #700 )
...
This quoting is performed according to https://datatracker.ietf.org/doc/html/rfc2822 .
Note that the obsolete phrase specification allows periods in the mailbox name. This does not implement the obsolete specification, instead periods force the mailbox to use a quoted string.
Fixes #698
2021-11-17 18:28:34 +01:00
Paolo Barbolini
9ab6bb56d3
Fix broken <summary> style ( #659 )
2021-08-20 04:48:30 +02:00
Paolo Barbolini
e1d3778329
Revert "Allow a Message to be decomposed into a MessageBuilder ( #633 )" ( #649 )
...
This reverts commit aadcc0f83c .
Co-authored-by: Alexis Mousset <contact@amousset.me >
2021-08-02 12:20:02 +00:00
Paolo Barbolini
55c2618201
Fix latest clippy warnings ( #655 )
2021-08-02 09:26:34 +00:00
Alex Feldman-Crough
aadcc0f83c
Allow a Message to be decomposed into a MessageBuilder ( #633 )
2021-06-30 18:21:55 +00:00
Alexis Mousset
0439bab874
fix(builder): Don't include Bcc headers in formatted messages ( #623 )
...
fixes #622
2021-05-18 18:03:20 +02:00
Paolo Barbolini
d54343cf00
Remove Part from the public API ( #619 )
2021-05-14 17:27:03 +02:00
Alexis Mousset
904789ac3d
feat(builder): Add helper methods for attachments and text ( #618 )
2021-05-14 16:59:08 +02:00
Alexis Mousset
f17dccc46d
builder: Fix Message-ID header ( #614 )
2021-05-04 18:45:29 +02:00
Paolo Barbolini
31de9e508b
Replace hyperx Header and Headers with our own implementation ( #607 )
...
* Replace hyperx Header and Headers with our own implementation
* Remove utf8_b
* Add RFC 1522 encoder
* Fix most tests
* Throw away old tests
* Header encoding tests
* Fix slicing in the middle of a char
* Content-Disposition after rebase
* Fix the rest of the tests
* Fix useless clone clippy warnings
* Remove Headers::get_raw_mut
* HeaderName::new_from_ascii fallible API
* Tidy up HeaderName::new_from_ascii_str
* HeaderName::new_from_ascii(_str) tests
2021-05-01 13:27:00 +02:00
Paolo Barbolini
69334fe5eb
Replace the hyperx ContentDisposition header with our own implementation ( #601 )
2021-04-24 18:21:29 +02:00
Paolo Barbolini
486e0f9d50
Replace hyperx ContentType header with our own implementation ( #598 )
...
* Replace hyperx ContentType header with our own implementation
* Let's not forget ContentTypeErr
* Adress code review comment
2021-04-08 08:40:07 +00:00
Paolo Barbolini
acc4ff4898
Replace hyperx Date header with our own implementation ( #597 )
2021-04-08 07:55:20 +02:00
Paolo Barbolini
1728d57c34
Stop using the uuid crate for generating the Message-Id ( #602 )
2021-04-07 18:38:56 +00:00
Paolo Barbolini
61b08814c9
Avoid useless allocations while formatting headers ( #599 )
2021-04-06 17:02:37 +00:00
Paolo Barbolini
29affe9398
Seal header contents ( #591 )
2021-04-01 12:18:38 +02:00
Paolo Barbolini
f7066ac858
Fix various parts of the docs ( #563 )
2021-03-12 20:02:31 +01:00
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
aac5c9929f
message: improve docs ( #521 )
2020-12-23 18:20:00 +00:00
Paolo Barbolini
ad9699827e
message: more body improvements ( #519 )
2020-12-18 14:49:59 +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
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
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
9e24786f67
Fix broken docs links
2020-07-26 11:40:22 +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