Opublikowano wersję projektu Mox 0.0.15, rozwijającego kompleksowe rozwiązanie do obsługi serwerów pocztowych, które obejmuje wszystkie komponenty niezbędne do wysyłania i odbierania poczty elektronicznej. Oferowane są własne implementacje serwerów SMTP i IMAP4, system filtracji niechcianego kontentu, a także interfejsy webowe dla administratora i użytkowników. Kod projektu napisano w języku Go i jest dystrybuowany na licencji MIT.
Celem projektu jest stworzenie rozwiązania „wszystko w jednym”, które umożliwia łatwe uruchomienie działającego serwera pocztowego bez czasochłonnej konfiguracji i bez potrzeby łączenia różnych, odrębnych usług i aplikacji. Zakłada się, że z powodu komplikacji związanych z wdrażaniem i utrzymywaniem poczty elektronicznej, serwerów klienci preferują scentralizowanych dostawców usług email, co niszczy samą ideę poczty elektronicznej jako zdecentralizowanej usługi, składającej się z wielu własnych serwerów pocztowych.
Mox umożliwia w 10 minut skonfigurowanie zabezpieczonego serwera pocztowego dla własnych domen, obsługującego nowoczesny stos protokołów i nie wymagającego instalacji dodatkowych zależności. Aktualizacja oprogramowania na serwerze pocztowym sprowadza się do pobrania nowej wersji mox i ponownego uruchomienia. Odbieranie i aktualizacja certyfikatów TLS odbywają się automatycznie. Do konfiguracji i realizacji zadań związanych z utrzymywaniem można używać interfejsu webowego, a do zaawansowanej konfiguracji dostępny jest plik konfiguracyjny.
Aby wyeliminować problemy bezpieczeństwa związane z pracą na niskim poziomie z pamięcią, w procesie rozwoju używany jest język Go. Aby utrzymać wysoką jakość bazy kodu, stosuje się ręczne i zautomatyzowane testowanie zgodności z popularnymi serwerami pocztowymi i klientami, testy jednostkowe i fuzzing, a także wszechstronną dokumentację kodu.
Główne możliwości Mox:
- Wsparcie dla protokołów SMTP i IMAP4.
- Wykorzystanie rozszerzeń SPF, DKIM i DMARC do identyfikacji domen pocztowych, potwierdzania uprawnień do wysyłania oraz weryfikacji autentyczności wiadomości.
- Śledzenie reputacji hostów, domen i nadawców. Wykorzystanie klasyfikatora bayesowskiego, DNSBL i list szarej do filtrowania niechcianych wiadomości.
- Wsparcie dla rozszerzeń używających Unicode i krajowych alfabetów w nazwach i domenach.
- Automatyczne uzyskiwanie certyfikatów TLS w urzędach certyfikacji wspierających protokół ACME, takich jak Let's Encrypt.
- Wsparcie dla mechanizmów DANE i MTA-STS do szyfrowania przychodzącej i wychodzącej poczty przez SMTP z rozszerzeniem STARTTLS.
- Wbudowany Webmail do odczytu i wysyłania e-maili przez przeglądarkę.
- Wbudowany interfejs webowy administratora do zarządzania domenami i kontami użytkowników, konfigurowania SPF/DKIM/DMARC/TLSRPT/MTA-STS, przeglądania statystyk oraz zmiany parametrów pliku konfiguracyjnego.
- Obecność serwera http do dostarczania plików statycznych i przekazywania żądań (serwer proxy odwrotny).
- Udostępnienie API HTTP/JSON do wysyłania/ładowania wiadomości e-mail i otrzymywania powiązanych zdarzeń dotyczących dostawy.
- Eksport metryk do systemu monitorowania Prometheus.
- Wsparcie dla rozszerzeń do automatycznej konfiguracji klientów pocztowych (DNS SRV, https://autoconfig.domena, kod QR).
Wśród zmian w nowej wersji:
- Dodano wsparcie dla rozszerzeń IMAP:
- NOTIFY (RFC 5465) do śledzenia przychodzących wiadomości,
- UIDONLY (RFC 9586) do żądania wiadomości według UID w celu zmniejszenia obciążenia serwera.
- MULTISEARCH (RFC 7203) do przeszukiwania skrzynek pocztowych,
- PREVIEW (RFC 8970) do szybkiego podglądu wiadomości,
- REPLACE (RFC 8508) do zastępowania zawartości w szkicach wiadomości,
- MULTIAPPEND (RFC 3502) do dodawania wielu wiadomości jednocześnie,
- METADATA (RFC 5464) do przechowywania metadanych,
- INPROGRESS (RFC 9585) do przesyłania informacji o statusie realizacji długotrwałych operacji,
- NAMESPACE (RFC 2342) do definiowania przestrzeni nazw skrzynek pocztowych,
- WITHIN (RFC 5032) do przeszukiwania w określonych przedziałach czasowych,
- CREATE-SPECIAL-USE (RFC 6154) do tworzenia wyspecjalizowanych skrzynek pocztowych, takich jak 'Inbox' i 'Sent',
- SAVEDATE (RFC 8514) do śledzenia czasu zapisania wiadomości w skrzynce pocztowej.
- Dodano ustawienie do obsługi separatorów '+' i '-' w adresach e-mail (you+anything@example.com i you-anything@example.com).
- Dodano ustawienie, które zabrania zmiany hasła (tylko auto-generacja silnego hasła).
- Dodano ustawienie do odrzucania przychodzącej dostawy w przypadku wystąpienia błędów w transakcji SMTP.
- W Webmail dodano przycisk do pobierania wiadomości w formacie eml lub mbox/maildir w archiwach zip/tgz/tar, a także przyciski do oznaczania skrzynki pocztowej jako przeczytanej i tworzenia dodatkowych skrzynek pocztowych.
Źródło: opennet.ru
