Come installare hMailServer su un computer moderno
hMailServer è un server di posta estremamente facile da configurare per Windows, e anche estremamente leggero. Pur essendo gratis ha un sacco di funzioni, SSL, IMAP, autenticazione utenti con Active Directory, ecc. Il suo unico difetto purtroppo è che è in stato di parziale abbandono. Ogni qualche mese lo sviluppatore rilascia una versione aggiornata dove però viene solo aggiornata la libreria OpenSSL, ma il “cuore” rimane fermo a qualche anno (decennio?) fa. Quindi, malgrado sia un prodotto eccellente, non è proprio raccomandato installarlo su computer moderni, perché:
- Essendo un programma che sta esposto a internet su porte molto bersagliate dai bot, c’è un po’ un rischio di sicurezza
- Dà per scontato che si utilizzino tecnologie un po’ datate
Comunque, è perfetto per utilizzarlo nella propria rete locale per “divertimento”.
Per impostarlo con MySQL (o MariaDB) bisogna avere tre accorgimenti:
- Siccome quindici anni fa l’app era freemium e non open source, la licenza di MySQL non permetteva l’inclusione delle DLL. Tutt’oggi per qualche motivo, anche se l’app è GPL e potrebbe includerle, non le include. È quindi necessario andare a prendere
libmysql.dll
dalla versione portable a 32 bit di HeidiSQL. (Oppure dal setup mostruoso di MySQL per Windows, ma lo sconsiglio) - MySQL 8.0 per i nuovi utenti imposta un sistema di autenticazione che non è riconosciuto da hMailServer. È necessario variarlo con:
ALTER USER 'tuoutente'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tuapassword';
. Io l’utente l’ho limitato a localhost, ma altrimenti va impostato come è sul vostro server, per esempio'tuoutente'@'%'
. - Sia MySQL 8.0 sia MariaDB 10 riportano versioni database che non sono supportate perché all’epoca arrivavano alla 5.6. È necessario quindi creare a mano il database utilizzando lo script che il setup posiziona in
C:\Program Files (x86)\hMailServer\DBScripts\CreateTablesMYSQL.sql
Per il resto il programma funziona splendidamente!
Altrimenti, è possibile utilizzare il database interno basato su Microsoft SQL Compact, ma personalmente non mi piace perché lo trovo più complicato da gestire come backup.