improve sota
This commit is contained in:
parent
df31b25b13
commit
c3d273ed00
1 changed files with 1 additions and 1 deletions
|
@ -110,7 +110,7 @@ are 3 handwritten parsers. Such handwritten parsers do not encourage separation
|
||||||
with a high cylomatic complexity. Due to this complex logic, I have failed to debug/patch such code in the past.
|
with a high cylomatic complexity. Due to this complex logic, I have failed to debug/patch such code in the past.
|
||||||
`rust-email` code is easier to read but its mime part implementation is marked as unstable. `mail_parser` is used in the IMAP/JMAP/SMTP server project [stalwartlabs/mail-server](https://github.com/stalwartlabs/mail-server) and `rust-email` is used in the email-based chat application [Deltachat](https://github.com/deltachat) (however `rust-email` MIME parsed is not used, a custom MIME parser is reimplemented in Delta Chat instead). It must be noted that `mail_parser` supports a large amount of extensions (UTF-8 headers, UTF-7 encoding, continuation, many custom fields, etc.) and would better cope with malformed emails than other libraries. **A goal of `eml_codec` is to be open to contribution and maintainable over time, which is made possible trough the parser combinator pattern that encourages writing small, reusable, independently testable functions.**
|
`rust-email` code is easier to read but its mime part implementation is marked as unstable. `mail_parser` is used in the IMAP/JMAP/SMTP server project [stalwartlabs/mail-server](https://github.com/stalwartlabs/mail-server) and `rust-email` is used in the email-based chat application [Deltachat](https://github.com/deltachat) (however `rust-email` MIME parsed is not used, a custom MIME parser is reimplemented in Delta Chat instead). It must be noted that `mail_parser` supports a large amount of extensions (UTF-8 headers, UTF-7 encoding, continuation, many custom fields, etc.) and would better cope with malformed emails than other libraries. **A goal of `eml_codec` is to be open to contribution and maintainable over time, which is made possible trough the parser combinator pattern that encourages writing small, reusable, independently testable functions.**
|
||||||
|
|
||||||
[rustyknife](https://github.com/jothan/rustyknife) is more targeted to SMTP servers (MTA) than IMAP (MDA) and email clients (MUA).
|
[rustyknife](https://github.com/jothan/rustyknife) uses the same design pattern (parser combinator) and the same library ([nom](https://github.com/rust-bakery/nom)) as `eml_codec`. However, `rustyknife` is more targeted to SMTP servers (MTA) than IMAP (MDA) and email clients (MUA).
|
||||||
It thus only supports parsing headers and not emails' body. Also, an acquaintance warned me that this library is a bit slow,
|
It thus only supports parsing headers and not emails' body. Also, an acquaintance warned me that this library is a bit slow,
|
||||||
it might be due to the fact that the library does some processing while parsing the email (like rebuilding and allocating strings).
|
it might be due to the fact that the library does some processing while parsing the email (like rebuilding and allocating strings).
|
||||||
If it happens that this part is not used later, the allocation/processing has been wasted.
|
If it happens that this part is not used later, the allocation/processing has been wasted.
|
||||||
|
|
Loading…
Reference in a new issue