-
-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LMTP Support #267
Labels
enhancement
New feature or request
Milestone
Comments
rfc: https://www.rfc-editor.org/rfc/rfc2033 Expand https://docs.kumomta.com/reference/kumo/make_queue_config/protocol/ to allow specifying that lmtp should be used. Add an LHLO method similar to kumomta/crates/rfc5321/src/client.rs Line 415 in 2037371
Teach kumomta/crates/kumod/src/smtp_dispatcher.rs Lines 337 to 341 in 2037371
|
wez
added a commit
that referenced
this issue
Dec 17, 2024
This enables LMTP over TCP by setting `use_lmtp = true` in the egress path configuration. refs: #267
wez
added a commit
that referenced
this issue
Dec 17, 2024
One frustration I have with the Rust standard library types is that while it has a SocketAddr type, that type doesn't include unix domain addressing like the underlying unix OS does in the underlying system type. I understand why it is that way, it's still a bit of a PITA. Since we want to enable the use of unix domain sockets for outbound LMTP support, our internal addressing type needs to be able to represent a unix domain address. This commit introduces our own HostAddress (equivalent to IpAddr, but not limited to IP addresses) and SocketAddress (equivalent to SockAddr, but not limited to IP sockets) types. The ResolvedAddress type has been cut over from IpAddr to HostAddress and the fan out addressed. This commit does not add support for establishing unix domain connections, it is merely the ability to recognize/report on them. refs: #267
wez
added a commit
that referenced
this issue
Dec 17, 2024
This commit allows setting the queue config to use a unix domain socket path: ``` protocol = { smtp = { mx_list = { '/some/path' }, }, }, ``` and the smtp dispatcher will attempt to connect to it via a unix domain socket. It is anticipated that this will be used together with an egress path config set to `use_lmtp = true`. I've tested the ability to attempt to connect, but I don't have a convenient implementation of SMTP/LMTP to test against here, so all I've tested if that we can successfully fail to connect to a unix domain socket. refs: #267
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No description provided.
The text was updated successfully, but these errors were encountered: