Comments (7)
Do you mean specifically RFC 5321, $4.1.4? I would agree that to be compliant with this section, we should treat a second HELO
/EHLO
as semantically equivalent to a RSET
followed by the HELO
/EHLO
.
from aiosmtpd.
Yes, I do mean RFC 5321, $4.1.4.
from aiosmtpd.
@Varbin Thanks for the response. I'd like to fix this, but as we're up against the Pycon deadline, I'm going to milestone this to post 1.0.
from aiosmtpd.
I fully understand that. Also the duplicated HELO
/ EHLO
should probably never be a problem - does even one SMTP client send two HELO
/ EHLO
commands in one session?
from aiosmtpd.
@Varbin I wouldn't expect it from a non-buggy client.
from aiosmtpd.
There is a patch for the stdlib implementation at http://bugs.python.org/issue21783, I might find some time to port it over later today.
In terms of relevance: Using HELO or EHLO to reset a session is permitted by the standard so I think we should support it.
I don't know about clients but I did use this when debugging SMTP servers manually before (test something, see what response you get, type EHLO and try something different). In that case it seems better to EHLO instead of RSET to explicitly start a new SMTP session while keeping the TCP connection.
from aiosmtpd.
A patch would be:
....
I just saw you made a pull request...
from aiosmtpd.
Related Issues (20)
- Replace flake8 test with ruff HOT 3
- Controller.start() is missing type annotation
- Provide a way to start smtp server on random free port
- [Question] EHLO response in a single packet?
- Example authenticated replayer is not working; Solved
- Let's put `aiosmtpd` under the `aio-libs` org on PyPI HOT 5
- [good first issue] Fix the Read The Docs config file HOT 1
- Some tests in aiosmtpd/tests/test_server.py hang with python 3.12
- assert_smtp_socket fails with Python 3.13.0a3 HOT 1
- custom `handle_HELO` and `handle_EHLO`: 503 Error: send HELO first HOT 1
- 1.4.5: test suite and documentation source is part of the installed resources HOT 2
- Not found code using 'attrs' but it is required. HOT 3
- handle_DATA not called with Proxy Protocol HOT 1
- Old authenticators won't work
- Unable to connect to aiosmtpd server using TLS v1.1 ?
- 1.4.6: pytest fails because test suite uses deprecated `pkg_resources
- 1.4.6: sphinx warnings `reference target not found`
- 1.4.6: please move aiosmtpd/docs and aiosmtpd/tests to project root, and pep517 build warnings
- examples/authenticated_relayer/server.py uses a random salt value
- _trigger_server in infinite loop
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 aiosmtpd.