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
James Hillyerd
50628af5fd
README.md: Use IPv4 notation for localhost ( #771 )
2022-05-30 17:20:51 +00:00
Paolo Barbolini
cf858cc682
Move most email body encoding to email-encoding ( #769 )
2022-05-30 15:12:42 +00:00
Paolo Barbolini
f9a4b5ba89
Work around async-global-executor bumping MSRV too early ( #773 )
2022-05-30 15:01:40 +00:00
Jacob Halsey
1391a834ce
#715 : Support setting the local IP address to connect from ( #762 )
...
This adds a `local_address: Option<IpAddr>` parameter to the synchronous, and tokio connect functions.
(As far as I can see there is no current way to support this in async-std, because the library doesn't provide any way to do an async connect for an existing socket)
2022-05-29 07:05:39 +00:00
André Cruz
e6b4529896
use email_address crate for checking formats ( #763 )
...
The email_address crate is more strict in validating user and domain
parts of email addresses. For example, it verifies the total size
of the local part, which the current method does not, and this has
caused upstream servers to fail to accept an email.
2022-05-26 19:21:14 +02:00
Kevin Cox
ca5cb3f8f7
Fix encoded header signing. ( #765 )
...
The header needs to be properly formatted so that Unicode characters are encoded the same way they will be in the final message. Previously the logical header value was being encoded.
A notable example is that a `'` in the `To:` header needs to be encoded. This was being encoded incorrectly.
2022-05-26 07:44:14 +02:00
Kevin Cox
1e2279457e
Add editorconfig file. ( #766 )
...
Makes it easy for everyone to use the preferred settings.
https://editorconfig.org/
2022-05-18 13:07:38 +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
Paolo Barbolini
b0db759e5f
Prepare 0.10.0-rc.6 ( #761 )
v0.10.0-rc.6
2022-04-29 15:59:36 +02:00
Paolo Barbolini
5daf5d397a
Fix parsing Mailboxes with a comma in the name ( #760 )
2022-04-26 12:18:12 +02:00
Paolo Barbolini
3f1647fa48
Bump dependencies ( #759 )
2022-04-25 09:17:58 +00:00
Paolo Barbolini
fd106d9b0c
Bump rsa crate to the final 0.6.0 release ( #758 )
2022-04-14 09:39:30 +00: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
David Krasnitsky
efa0d58778
Improve compiler error messages ( #754 )
2022-04-07 05:03:28 +00:00
Paolo Barbolini
9567b23f4d
Prepare 0.10.0-rc.5 ( #750 )
v0.10.0-rc.5
2022-04-02 10:21:38 +02:00
Paolo Barbolini
f77376fa19
Update to released email-encoding crate ( #749 )
2022-04-02 08:10:25 +00:00
Paolo Barbolini
6e35b9b30d
Bump RustCrypto crates ( #748 )
2022-04-02 07:55:36 +00:00
Sven-Hendrik Haase
c24213c850
Add message logging to StubTransport ( #744 )
...
This makes it more useful as a testing tool as it now allows you to retrieve
all messages sent via this transport.
2022-03-25 08:22:47 +01:00
fluentpwn
8b40e438fd
Year update ( #725 )
2022-03-24 06:06:24 +00:00
Paolo Barbolini
e1462b2d1b
Bump MSRV to 1.56 - Edition 2021 ( #745 )
2022-03-24 05:52:28 +00:00
Paolo Barbolini
96b42515cd
Don't run headers that don't need encoding though the encoder ( #739 )
2022-02-17 19:18:54 +00:00
Paolo Barbolini
1ea4987023
Encode mailbox headers through email-encoding ( #737 )
2022-02-17 20:00:43 +01: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
Paolo Barbolini
7a0dd5bd92
clippy: deny string_add ( #735 )
2022-02-12 17:12:41 +00:00
Paolo Barbolini
9a8aa46dba
Start future proofing the DKIM API ( #733 )
2022-02-12 16:41:34 +00:00
Paolo Barbolini
0377ea29b7
Dkim improvements ( #732 )
...
Some tweaks to the DKIM implementation to make it a tiny bit more readable in some places and allocate less in general.
2022-02-12 16:19:06 +00:00
Paolo Barbolini
89e5b9083e
Bump dev dependencies ( #730 )
2022-02-12 10:25:42 +00:00
Paolo Barbolini
8c370e28c9
Follow RFC 2231 in order to properly encode the Content-Disposition header ( #685 )
...
Uses RFC 2231 to encode the Content-Disposition header
2022-02-12 10:17:44 +00:00
Paolo Barbolini
3eed80ef30
Bump MSRV to 1.53 ( #731 )
2022-02-12 10:02:44 +00:00
Paolo Barbolini
dbb135c533
Introduce HeaderValue ( #729 )
2022-02-12 10:24:52 +01:00
Gaëtan Duchaussois
4c5f02b4f6
feat(email): add dkim signing capacity to message ( #670 )
2022-02-12 09:21:35 +01:00
Paolo Barbolini
f02542841c
Bump rustls-pemfile to 0.3 ( #728 )
2022-02-05 18:34:13 +01:00
Jacob Halsey
29c34adc25
feature(transport-smtp): make peer certificate available in SmtpConnection ( #716 )
2022-01-19 11:28:34 +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
Dirkjan Ochtman
60399a93cc
Forward first line of response for negative responses ( #701 )
2021-11-15 17:41:54 +01:00
facklambda
a48bc8a1b2
docs(smtp-transport) Add Troubleshooting steps ( #692 )
2021-11-12 21:53:12 +01:00
Paolo Barbolini
94cc0149d1
Prepare 0.10.0-rc.4 ( #691 )
v0.10.0-rc.4
2021-10-29 09:22:53 +02:00
Filip Gospodinov
a89383cdb6
Re-enable pool tests ( #684 )
...
The pool tests have been implicitly disabled by testing
for a feature that has been removed.
2021-10-20 19:31:56 +02:00
Filip Gospodinov
592593f4b8
Expose test_connected via transport ( #677 )
...
It is useful for application developers to validate SMTP
settings by testing the connection.
Co-authored-by: Alexis Mousset <contact@amousset.me >
2021-10-20 16:42:49 +02:00
Paolo Barbolini
97d3c760c0
Update rustls to 0.20 ( #648 )
2021-10-20 14:37:16 +02:00
Alexis Mousset
8f28b0c341
fix(transport): Use the sendmail command in PATH by default ( #682 )
...
This will allow the transport to work with default settings on more systems,
while preserving the ability to use a specific binary.
2021-10-16 09:49:45 +02:00
Paolo Barbolini
dc9c5df210
Sync pool impl ( #644 )
...
Co-authored-by: Alexis Mousset <contact@amousset.me >
2021-10-16 09:39:06 +02:00
Gaëtan Duchaussois
c9b3fa0baa
docs(all): Add instruction to launch fake smtp server ( #681 )
2021-10-11 16:41:03 +02:00
Paolo Barbolini
addf8754dd
smtp: don't send QUIT to connections that failed the STARTTLS handshake ( #679 )
2021-10-06 17:25:50 +00:00
Jacob Mischka
af157c5f26
Add From<Mime> under mime03 flag ( #676 )
...
Closes #615
2021-10-05 11:22:25 +02:00
TornaxO7
3e8988ae55
ContentTransferEncoding derives changes ( #652 )
2021-09-29 06:42:54 +02:00
Paolo Barbolini
941a00bcaa
Bump MSRV to 1.52.1 ( #671 )
2021-09-12 18:40:26 +00:00
Paolo Barbolini
14079bff8c
Give a compiletime error when using an incorrect combination of TLS features ( #666 )
2021-09-07 20:43:07 +02:00