Comments (2)
The problem comes from:
lettre/src/message/mailbox/types.rs
Line 410 in 5a61ba3
According to the RFC, an Atom can be a simple atom
(everything except white space, controls and specials) or a dot-atom
(an atom
followed by 0 or more .atom
). With the actual code, a space makes the is_valid_atom_char
function return true
which leads to this issue I opened, and a dot makes the function return false
where it should return true
when matching a dot-atom
.
In my opinion, a lib like https://github.com/zesterer/chumsky would help a lot to parse such complex atoms (and to parse mailboxes in general, which would make the code more readable instead of manually parsing them). I will propose you a POC (only on this atoms section) so we can discuss about it and see.
from lettre.
In fact I was wrong, white spaces are valid around atoms, which makes the address John Smith <john.smith@localhost>
totally valid. The problems comes from the parser I use (mailparse), somehow it cannot parse a mail with such an address.
from lettre.
Related Issues (20)
- How to send an email with both TLS and authentication?
- Connection Invalid Headers HOT 2
- Is there a plan to support socks5 agents? HOT 1
- Derive serde Traits for key objects HOT 2
- Using rustls-tls feature still depends on 'openssl-sys' HOT 2
- Multiple Errors Deploying an SMTP Relay HOT 4
- How to correctly include an attachment HOT 1
- Sending email leads to an os error (invalid token) HOT 6
- Emails with attachments are not sent on windows HOT 1
- RUSTSEC-2022-0093: Double Public Key Signing Function Oracle Attack on `ed25519-dalek`
- Build a transport and provide credentials later HOT 4
- UnknownIssuer error after commit 69e5974 with rustls HOT 5
- Ahash Version HOT 6
- When sending file attachments via MultiPart I get the encoded message as text... HOT 1
- cyclic package dependency: package `ahash v0.8.6`
- AsyncTransport send() indefinitely waits for network up HOT 1
- RUSTSEC-2023-0071: Marvin Attack: potential key recovery through timing sidechannels
- Bug in DKIM body-hash computation with mimebodies
- PKCS#8 support for DKIM
- Please consider using `relaxed/relaxed` for default `DkimConfig` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lettre.