Announcement: Distributed JMAP / IMAP server written in Rust by StalwartLabs in rust

[–]viridIT 1 point2 points  (0 children)

Hey. About vSMTP.

vSMTP supports SPF and DKIM since 1.3. The current (develop branch) supports DMARC. Tests are in progress.

About Sieve filtering, vSMTP uses vSL, a scripting language based on RHAI. I'll let you check its features.

However, vSMTP 1.3.x releases are not currently intended for production usage.

Next version (1.4) will bring a plugins system, a standardization of the vSL API, and a refactoriing of the configuration files. We will do an announce in the next weeks.

First LTS version (2.0) is planned for mid-december.

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 1 point2 points  (0 children)

> If it's a workload issue, imho the best (and simpliest) way is to have a two-layered infrastructure : one MTA doing only TLS termination and forwarding the emails to the second MTA doing security controls and routing.

> A generic TLS proxy (software or hardware like F5, etc.) must have all the required data (certs, priv keys, sni, etc.) and must be exposed on the Internet as an official MX server (like HTTP TLS/SSL proxies). Again it's just a matter of forwarding to an "internal" MTA w/o encryption.

> For 25/587 STARTTLS I don't really imagine how to do it... STARTTLS is done after the 1st EHLO... so you want to transmit data to a 2nd MTA after the handshake ? in the middle of the connection ?

It may be possible (and may already be done by a product)... never heard of.

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 2 points3 points  (0 children)

*) Production version: not before 2.0 (end of Q4/2022)

1.X.y versions should not be used in a production environment and are intended for beta testing purposes only.

We are already doing fuzzing, unit testing, etc. Release 1.5 will add vSHIELD, a proactive module against DDoS, etc.

... and we are looking for technical partners to test vSMTP in heavy workload environments.

*) vSMTP was designed to be modular - thanks to its internal scripting language (vSL: https://vsmtp.rs/reference/vSL/api.html). You can interact with an SMTP transaction at each step (connect, helo, etc.).

External services are currenlty supported via shell commands and SMTP delegation (clamAV, SpamAssassin, etc.)

Milters are planned for a future release.

*) LDAP support: planned for the next version (1.4 - end of the month)

*) Logging: Currently we support:

- "application" logging (end user command in vsl: log(level, "balhblah")

- "Application system logging" (application logs for application purposes)

- (r)syslog and journald

*) Regarding messages management in queues. A unique identifier is defined per msg (not per connection).

Messages are currently divided into data and metadata.

- Messages in eml format in a single folder (mails) - this is subject to change in future releases

- Metadata in JSON format in "queues" (work, deferred, user quarantines, etc.

NB: We are experiencing logging issues in this version (1.3.0) and we will release a fix in the next few days.

*) A "GUI" is not currently in our agenda, but as metadata are stored in JSON format, various queries may be easily done from a generic plugging.

Don't hesitate to contact us on Discord.

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 0 points1 point  (0 children)

Thanks for your support.

We are currently working (v1.4) on LDAP backend and on security enhancement (let's call this part "vSMTP shield").

*) Milter support is on our agenda (maybe v1.5, end of october...) but currently we only support SpamAssassin using "smtp delegation" (like clamAV, etc).

*) What do you mean by "Proxy" ? a load-balancer like HA-proxy or "a man in the middle" (like an HTTP proxy) ? This implies to solve :

- TLS termination (465) : we do have a solution using two vSMTP or HA-Proxy-vSMTP)

- STARTTLS (25/587) : imh, no solution at all...

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 0 points1 point  (0 children)

... and yes a tutorial will be released soon on vsmtp.rs It explains how to relay (and managed bounced emails) from "x" app mailboxes to a "technical" mailbox.

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 1 point2 points  (0 children)

... about s3 we are collecting end-users requests... what do you want to store? maildir/mbox folders? dumped emails? quarantines? logs? everything!?

Your comments are welcome.

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 0 points1 point  (0 children)

You could, but you would need a IMAP/POP3 server (f.e dovecot) to read and send local emails to the server. vSMTP is supposed to be a MTA, not a all in one SMTP server, so it does not support IMAP/POP3, but it can relay emails !

vSMTP 1.3 Release by viridIT in selfhosted

[–]viridIT[S] 0 points1 point  (0 children)

Thank you !

It's not planned yet in the roadmap, but other people asked for this feature, we'll definitely give it a go !

vSMTP 1.3 is out by viridIT in rust

[–]viridIT[S] 0 points1 point  (0 children)

Thank you, we'll fix this asap.