È stato pubblicato il rilascio del progetto Mox 0.0.15, che sviluppa una soluzione integrata per il funzionamento dei server di posta, comprendente tutti i componenti necessari per l'invio e la ricezione di email. Sono disponibili implementazioni personalizzate dei server SMTP e IMAP4, un sistema di filtraggio dei contenuti indesiderati, oltre a interfacce web per amministratori e utenti. Il codice del progetto è scritto in Go e distribuito sotto licenza MIT.
L'obiettivo del progetto è creare una soluzione "tutto in uno" che consenta di avviare facilmente un server di posta funzionante senza configurazioni complesse e senza la necessità di integrazioni tra diversi servizi e applicazioni. Si presume che, a causa delle complicazioni nel dispiegamento e nella manutenzione della posta elettronica, server i consumatori preferiscano i provider email centralizzati, distruggendo così l'idea stessa della posta elettronica come servizio decentralizzato, formato da molti server di posta personali.
Mox consente di configurare un server di posta protetto per i propri domini in 10 minuti, supportando una moderna suite di protocolli e senza la necessità di installare dipendenze aggiuntive. L'aggiornamento del software sul server di posta si riduce al download della nuova versione di mox e al riavvio. Ricezione e aggiornamento certificati TLS. avviene automaticamente. Per la configurazione e l'esecuzione di attività legate alla manutenzione, è possibile utilizzare un'interfaccia web, mentre per la configurazione avanzata è fornito un file di configurazione.
Per escludere problemi di sicurezza derivanti da operazioni a basso livello con la memoria, il linguaggio Go viene utilizzato nello sviluppo. Per mantenere un'elevata qualità della base di codice, vengono applicati test manuali e automatizzati di compatibilità con i popolari server e client di posta, test unitari e di fuzzing, oltre a una documentazione dettagliata del codice.
Le principali funzionalità di Mox:
- Supporto per i protocolli SMTP e IMAP4.
- Utilizzo delle estensioni SPF, DKIM e DMARC per l'identificazione dei domini di posta, la conferma delle autorizzazioni di invio e la verifica dell'autenticità dei messaggi.
- Monitoraggio della reputazione di host, domini e mittenti. Utilizzo di un classificatore bayesiano, DNSBL e liste grigie per filtrare i messaggi indesiderati.
- Supporto per estensioni che utilizzano Unicode e alfabeto nazionali nei nomi e nei domini.
- Acquisizione automatica di certificati TLS presso autorità di certificazione che supportano il protocollo ACME, come Let’s Encrypt.
- Supporto per meccanismi DANE e MTA-STS per la cifratura delle comunicazioni in entrata e in uscita su SMTP con estensione STARTTLS.
- Webmail integrato per la lettura e l'invio di email tramite browser.
- Interfaccia web di amministrazione integrata per gestire domini e account, configurare SPF/DKIM/DMARC/TLSRPT/MTA-STS, visualizzare statistiche e modificare le impostazioni del file di configurazione.
- Disponibilità di un server HTTP per la consegna di file statici e il reindirizzamento delle richieste (proxy inverso).
- Fornitura di un'API HTTP/JSON per inviare/caricare email e ricevere eventi correlati alla consegna.
- Esportazione di metriche per il sistema di monitoraggio Prometheus.
- Supporto per estensioni di auto-configurazione per client di posta (DNS SRV, https://autoconfig.dominio, codice QR).
Tra le modifiche nella nuova versione:
- Aggiunto supporto per estensioni IMAP:
- NOTIFY (RFC 5465) per il tracciamento della ricezione dei messaggi,
- UIDONLY (RFC 9586) per richiedere messaggi tramite UID per ridurre il carico sul server.
- MULTISEARCH (RFC 7203) per la ricerca nelle caselle di posta,
- PREVIEW (RFC 8970) per un rapido anteprima dei messaggi,
- REPLACE (RFC 8508) per sostituire il contenuto nei bozze di messaggi,
- MULTIAPPEND (RFC 3502) per aggiungere più messaggi in una volta,
- METADATA (RFC 5464) per la memorizzazione dei metadati,
- INPROGRESS (RFC 9585) per la trasmissione di informazioni sullo stato di operazioni a lungo termine,
- NAMESPACE (RFC 2342) per definire gli spazi dei nomi delle caselle di posta,
- WITHIN (RFC 5032) per la ricerca in base a intervalli di tempo,
- CREATE-SPECIAL-USE (RFC 6154) per creare caselle di posta specializzate, come 'Posta in arrivo' e 'Inviati',
- SAVEDATE (RFC 8514) per tracciare il tempo di salvataggio dei messaggi nella casella di posta.
- Aggiunta un'impostazione per gestire i separatori '+' e '-' negli indirizzi email (you+anything@example.com e you-anything@example.com).
- Aggiunta un'impostazione per vietare la modifica della password (solo generazione automatica di una password sicura).
- Aggiunta un'impostazione per rifiutare le consegne in entrata in caso di errori nella transazione SMTP.
- In Webmail è stata aggiunta un pulsante per scaricare i messaggi in formato eml o mbox/maildir in archivi zip/tgz/tar, oltre a pulsanti per segnare la casella di posta come letta e per creare ulteriori caselle di posta.
Fonte: opennet.ru
