AeroMail – ultralekki klient webmail

⏱️ Przewidywany czas czytania: 5 min

AeroMail – ultralekki klient webmail w czystym PHP dla serwera pocztowego

Uruchomienie własnego serwera pocztowego to dopiero połowa sukcesu. Drugą, często bardziej problematyczną częścią, jest dostarczenie użytkownikom wygodnego interfejsu webowego. Tradycyjne rozwiązania, takie jak Roundcube czy SnappyMail, choć funkcjonalne, wymagają do działania baz danych (MySQL/PostgreSQL), menedżerów pakietów (Composer) i potrafią zajmować setki megabajtów na dysku oraz zużywać niepotrzebnie cenną pamięć RAM.

Jeśli posiadasz własny serwer WWW i serwer pocztowy, a zależy Ci na minimalizmie, pełnej kontroli i niskim zużyciu zasobów, AeroMail jest projektem stworzonym właśnie dla Ciebie. To super lekka alternatywa dla ciężkich frameworków, napisana w całości w czystym PHP (Vanilla PHP) z wykorzystaniem architektury MVC.

Dlaczego AeroMail? Problem ciężkich aplikacji webmail

Wielu administratorów małych serwerów VPS lub domowych maszyn (homelab) staje przed dylematem: jak udostępnić pocztę przez przeglądarkę, nie obciążając przy tym systemu? Instalacja klasycznego webmaila często wiąże się z koniecznością postawienia stosu LAMP/LEMP w pełnej okazałości, co na małych maszynach jest nieuzasadnionym przerostem formy nad treścią.

AeroMail eliminuje ten problem. Aplikacja nie wymaga bazy danych – komunikuje się bezpośrednio z serwerem IMAP/SMTP. Nie wymaga Composera, ani żadnych zewnętrznych bibliotek. Cały projekt to zaledwie kilkadziesiąt kilobajtów czystego kodu PHP, który jest gotowy do działania od razu po pobraniu.

Dla kogo jest ten projekt?

AeroMail nie jest uniwersalnym produktem „dla każdego”. To narzędzie szyte na miarę dla specyficznego odbiorcy:

  • Administratorów własnych serwerów pocztowych (np. opartych na Postfix/Dovecot), którzy szukają lekkiego frontendu.
  • Entuzjastów self-hostingu i homelabów, którzy cenią sobie prywatność i niezależność od wielkich korporacji.
  • Użytkowników małych VPS-ów, gdzie każdy megabajt pamięci RAM i przestrzeni dyskowej jest na wagę złota.
  • Programistów PHP, którzy chcą zobaczyć, jak zbudować aplikację MVC bez opierania się na gotowych, ciężkich frameworkach.

Kluczowe cechy i architektura

Projekt powstał z myślą o prostocie wdrożenia i bezpieczeństwie. Oto co wyróżnia AeroMail na tle innych rozwiązań:

  • Zero zależności (Zero Dependencies): Działa na gołym PHP 8+. Brak Composera oznacza brak konieczności aktualizacji setek pakietów i łatania luk w zewnętrznych bibliotekach.
  • Brak bazy danych: Aplikacja nie przechowuje żadnych konfiguracji użytkowników, haseł ani cache’a na dysku. Wszystko jest pobierane w czasie rzeczywistym z serwera IMAP.
  • Prawdziwa architektura MVC: Przejrzysty podział na Modele, Widoki i Kontrolery, wsparty własnym, lekkim Routerem.
  • Pełna obsługa IMAP i SMTP: Zarządzanie folderami, odczyt, wysyłka, odpowiadanie, przekazywanie wiadomości oraz obsługa załączników.
  • Bezpieczeństwo: Szyfrowane połączenia (IMAP SSL, SMTP STARTTLS), ochrona przed CSRF oraz bezpieczne zarządzanie sesjami PHP.

Wymagania i instalacja

Uruchomienie AeroMail na Twoim serwerze jest niezwykle proste i sprowadza się do kilku kroków.

Wymagania systemowe:

  • PHP 8.0 lub nowsze
  • Rozszerzenia PHP: imap, mbstring, openssl
  • Serwer WWW (Apache z mod_rewrite lub Nginx)

Proces instalacji:

# 1. Sklonuj repozytorium do katalogu publicznego serwera WWW
git clone https://github.com/marcin-filipiak/php_AeroMail.git /var/www/html/webmail
cd /var/www/html/webmail

# 2. Skonfiguruj połączenie z serwerem pocztowym
# Edytuj plik app/config/config.php i podaj dane swojego serwera IMAP/SMTP
nano app/config/config.php

# 3. Ustaw uprawnienia dla katalogu tymczasowego (wymagany do załączników)
chmod 755 tmp/
chown www-data:www-data tmp/

Po wykonaniu tych kroków aplikacja jest gotowa do użycia. Nie ma potrzeby uruchamiania żadnych skryptów instalacyjnych, migracji baz danych czy budowania zasobów statycznych.

Idealne rozwiązanie na małe VPS-y

Ze względu na swoją minimalną footprint (ślad w systemie), AeroMail świetnie sprawdza się na najmniejszych maszynach wirtualnych. Jeśli dopiero szukasz miejsca na postawienie własnego serwera WWW i pocztowego, polecam sprawdzić ofertę Mikr.us. To polski dostawca serwerów VPS stworzony specjalnie dla pasjonatów, programistów i osób uczących się administracji. Ich małe pakiety idealnie nadają się do hostowania lekkich aplikacji, takich jak AeroMail.


mikrus_maly AeroMail – ultralekki klient webmail

Podsumowanie

AeroMail to dowód na to, że do rozwiązania wielu problemów nie są potrzebne ciężkie, nowoczesne frameworki. Czasami wystarczy czysty PHP, dobra znajomość protokołów IMAP/SMTP i architektury MVC, aby stworzyć narzędzie, które jest szybkie, bezpieczne i szanuje zasoby serwera.

Jeśli jesteś administratorem własnego serwera pocztowego i szukasz lekkiego interfejsu webowego, wypróbuj AeroMail. Kod źródłowy jest w pełni otwarty, gotowy do audytu i modyfikacji.

Zapraszam do repozytorium: github.com/marcin-filipiak/php_AeroMail


Czy korzystałeś już z AeroMail na swoim serwerze? A może masz pytania dotyczące konfiguracji IMAP/SMTP w czystym PHP? Podziel się swoimi doświadczeniami w komentarzach!