O projeto vSMTP está desenvolvendo um novo servidor de correio (MTA) que visa fornecer alto desempenho e fornecer recursos flexíveis de filtragem e gerenciamento de tráfego. O código do projeto é escrito em Rust e distribuído sob a licença GPLv3.
De acordo com os resultados dos testes publicados pelos desenvolvedores, o vSMTP é dez vezes mais rápido que os MTAs concorrentes. Por exemplo, o vSMTP mostrou um rendimento de 4 a 13 vezes maior que o Postfix 3.6.4 ao transferir mensagens de 100 KB e estabelecer de 4 a 16 sessões simultâneas. O alto desempenho é alcançado através do uso de uma arquitetura multithread, na qual canais assíncronos são utilizados para comunicação entre threads.
O vSMTP está sendo desenvolvido com foco principal em garantir alta segurança, o que é alcançado por meio de testes intensivos usando testes estáticos e dinâmicos, bem como o uso da linguagem Rust, que, se usada corretamente, permite evitar muitos erros associados ao trabalho. com memória. Os arquivos de configuração são definidos no formato TOML.
Uma característica especial do projeto é também a presença de uma linguagem vSL integrada para escrever scripts de filtragem de e-mail, que permite criar regras muito flexíveis para filtrar conteúdo indesejado e gerenciar o tráfego. A linguagem é baseada na linguagem Rhai, que usa digitação dinâmica, permite que o código seja incorporado em programas Rust e fornece sintaxe que se assemelha a uma mistura de JavaScript e Rust. Os scripts são fornecidos com uma API para inspecionar e modificar mensagens recebidas, redirecionar mensagens e controlar sua entrega a hosts locais e remotos. Os scripts suportam conexão com o DBMS, execução de comandos arbitrários e quarentena de e-mails. Além do vSL, o vSMTP também suporta SPF e filtros baseados em listas de retransmissão abertas para combater mensagens indesejadas.
Os planos para uma versão futura incluem a possibilidade de integração com um SGBD baseado em SQL (atualmente os dados sobre endereços e hosts são especificados em formato CSV) e suporte para mecanismos de autenticação DANE (autenticação baseada em DNS de entidades nomeadas) e DMARC (autenticação baseada em domínio Autenticação de mensagem). Em versões mais separadas, está prevista a implementação de mecanismos BIMI (Brand Indicators for Message Identification) e ARC (Authenticated Received Chain), capacidade de integração com Redis, Memcached e LDAP, ferramentas de proteção contra bots DDoS e SPAM, plugins para organização verifica pacotes antivírus ( ClamAV, Sophos, etc.).
Fonte: opennet.ru