Projekt vSMTP rozwija nowy serwer pocztowy (MTA), skoncentrowany na zapewnieniu wysokiej wydajności oraz oferowaniu elastycznych możliwości filtrowania i zarządzania ruchem. Kod projektu napisany jest w języku Rust i jest rozpowszechniany na licencji GPLv3.
Zgodnie z opublikowanymi przez deweloperów wynikami testów, vSMTP jest dziesięć razy szybszy niż konkurencyjne MTA. Na przykład, vSMTP wykazał od 4 do 13 razy wyższą przepustowość niż Postfix 3.6.4, przy przesyłaniu wiadomości o rozmiarze 100 KB i przy 4-16 równoczesnych sesjach. Wysoka wydajność jest osiągana dzięki zastosowaniu architektury wielowątkowej, w której do komunikacji między wątkami wykorzystuje się asynchroniczne kanały.

vSMTP rozwija się z pierwotnym nastawieniem na zapewnienie wysokiego poziomu bezpieczeństwa, co osiąga się poprzez intensywne testowanie z wykorzystaniem testów statycznych i dynamicznych, a także dzięki zastosowaniu języka Rust, który przy odpowiednim użyciu pozwala uniknąć wielu błędów związanych z zarządzaniem pamięcią. Pliki konfiguracyjne są definiowane w formacie TOML.

Cechą charakterystyczną projektu jest również wbudowany język vSL do pisania skryptów filtrowania wiadomości, co pozwala na tworzenie bardzo elastycznych reguł odrzucania niepożądanej zawartości i zarządzania ruchem. Język oparty jest na języku Rhai, wykorzystującym dynamiczne typowanie, co umożliwia osadzanie kodu w programach napisanych w Rust i oferującym składnię przypominającą mieszankę JavaScript i Rust. Skrypty mają API do inspekcji i modyfikacji przychodzących wiadomości, przekierowywania wiadomości oraz zarządzania ich dostarczaniem do lokalnych i zdalnych hostów. W skryptach wspierane jest połączenie z bazą danych, uruchamianie dowolnych poleceń oraz umieszczanie wiadomości w kwarantannie. Oprócz vSL, w celu walki z niechcianymi wiadomościami, vSMTP wspiera również SPF oraz filtry oparte na listach otwartych przekaźników.
W planach na przyszłe wydania przewiduje się możliwość integracji z systemami baz danych opartymi na SQL (obecnie dane o adresach i hostach są definiowane w formacie CSV) oraz wsparcie dla mechanizmów uwierzytelniania DANE (DNS-Based Authentication of Named Entities) oraz DMARC (Domain-based Message Authentication). W bardziej zaawansowanych wersjach planowane jest wdrożenie mechanizmów BIMI (Brand Indicators for Message Identification) oraz ARC (Authenticated Received Chain), możliwość integracji z Redis, Memcached i LDAP, środki ochrony przed DDoS i SPAM-botami, wtyczki do przeprowadzania skanów w pakietach antywirusowych (ClamAV, Sophos itd.).
Źródło: opennet.ru
