Commit Graph

47 Commits

Author SHA1 Message Date
Paolo Barbolini
3ce31c5a6a docs: add missing ContentType to email building (#1017) 2024-12-23 22:08:08 +01:00
Tobias Bieniek
47f2fe0750 transport/file: Derive Clone impls (#924) 2023-12-16 21:30:57 +01:00
Paolo Barbolini
f8f19d6af5 clippy: fix latest warnings (#855) 2023-01-29 13:46:57 +00:00
finga
0734a96343 tracing: Write some logs when sending an email (#848)
Write a trace message when sending an email. Further, write a debug
message when using the sendmail transport method, containing which
program is called. And write a debug message containing the target
file name when the file transport method is used.

This should help improve #556 a tiny bit.

Co-authored-by: finga <finga@onders.org>
2023-01-24 09:14:31 +01:00
Paolo Barbolini
dbf0e53c31 Fix latest clippy warnings (#830) 2022-11-12 17:54:20 +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
Paolo Barbolini
94cae6df0d Drop tokio 0.2 support (#617) 2021-05-12 19:09:30 +02:00
Alexis Mousset
509a623a27 feat(transport): Seal file and sendmail error types (#567) 2021-03-14 07:42:52 +00:00
Paolo Barbolini
a681c6b49d Remove From implementations on Error for file and sendmail transport (#566) 2021-03-13 17:41:44 +00:00
Alexis Mousset
22efe341fe feat(builder): Seal SMTP error type (#564)
* feat(builder): Seal SMTP error type

* More precise error types
2021-03-13 17:15:21 +00:00
Paolo Barbolini
f7066ac858 Fix various parts of the docs (#563) 2021-03-12 20:02:31 +01:00
Paolo Barbolini
5c83120986 Executor refactor (#545)
* Executor
* Move transports inside the transport module
* AsyncTransport refactor
* Update examples
* Update docs
* impl Default for AsyncSendmailTransport
* Implement AsyncFileTransport::read
* Generalize AsyncFileTransport AsyncTransport implementation
* Remove remaining uses of AsyncSmtpConnector
2021-02-27 16:36:59 +00:00
Alexis Mousset
6fbb3bf440 feat(transport): Read messages from FileTransport (#516)
* feat(transport): Read messages from FileTransport

* Style improvements
2021-02-03 10:25:47 +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
Paolo Barbolini
1a0c344c91 Update to tokio 1.0 (#529) 2020-12-25 21:01:21 +00:00
Paolo Barbolini
ad9699827e message: more body improvements (#519) 2020-12-18 14:49:59 +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
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
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
0b8d5d20ad Refactor address module and move Envelope into it (#488) 2020-10-21 17:44:51 +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
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
2173bc5f43 Add tokio ^0.2 support (#440)
* Use fs::write for writing files
* Fix running tests without tokio
2020-07-26 15:11:54 +00:00
Paolo Barbolini
e2b641ae89 Refactor async-std support to prepare for more async runtimes
Renames the async feature to async-std1

Moves things out of mod async since it makes things have to be written as r#async
and makes them feel less important.
2020-07-26 14:28:03 +02:00
Alexis Mousset
8c8aa770bf feat(transport): Start async implementation (sendmail, file and stub transports) 2020-05-10 16:12:51 +02:00
Alexis Mousset
6afdb0cf3a feat(transport): Make Transport result type an actual Result (fixes #405) 2020-05-05 22:33:35 +02:00
Alexis Mousset
8425f1d7c4 chore(all): Move docs from website into API doc 2020-05-03 11:21:47 +02:00
Alexis Mousset
0604030b91 Remove SmtpClient and make transport immutable
in Transport methods. Also make proper use of
connection pools.
2020-05-01 22:25:12 +02:00
Alexis Mousset
0ac3438d32 feat(transport-file): Store email as string when possible (fixes #385) 2020-04-28 23:45:37 +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
4e500ded50 feat(transport): Allow sending raw emails (fixes #409) 2020-04-28 23:44:23 +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
Alexis Mousset
ae640da631 refactor(all): split email and transport into different crates 2017-05-21 00:59:39 +02:00
Alexis Mousset
e068c2d41f feat(email): Use Enveloppe directly 2017-02-12 23:39:27 +01:00
Alexis Mousset
73e7aa3639 test(transport): add sendmail transport 2016-10-23 20:50:30 +02:00
Alexis Mousset
3b4f4a739e style(all): Incompatible improvements in API 2016-10-23 17:16:54 +02:00
Alexis Mousset
bc874fa8f4 feat(transport): Add an Error and Result type for each transport 2016-08-31 21:33:02 +02:00
Alexis Mousset
97da0c0869 style(all): improve the code thanks to rust-clippy 2016-05-17 00:54:11 +02:00
David Raifaizen
a8324795e5 style(all): Minor typo/grammar fixes 2016-05-06 22:56:33 -04:00
Alexis Mousset
489a6e892e Improve documentation 2015-10-31 21:23:06 +01:00
Alexis Mousset
40e749a04a style(formatting): Run rustfmt 2015-10-26 22:51:07 +01:00
Alexis Mousset
e6dd9d5a46 Install complete openssl on windows 2015-10-25 23:40:59 +01:00
Alexis Mousset
62df24c5b1 Add file transport 2015-10-25 17:47:07 +01:00