Installare e configurare VPopMail

16 settembre 2026 by Roberto Puzzanghera 6 commenti

Vpopmail fornisce un modo semplice di gestire indirizzi di posta su domini virtuali e account email diversi da quelli su /etc/passwd.

Changelog

  • Sep 16, 2026 (version 5.6.14)
    - Refactoring 64-bit endian conversion handling in #11
    - Purge vlog in #12 #13 853be6c 012e58d b4bafad d7fce5d
    - escape SQL through the client library, not by hand. by @yohgaki in #14
    - bug fix in vpalias.c: valias_select_next() was called with a 'valias' variable, while it is defined with no arguments (tx Ulrich) in #15
    - backfill.c: fix const qualifier warnings in strrstr() 8f77b5d
    - vusaged: rename internal list functions to vlist_* to avoid symbol collisions with MariaDB client library 1bb31ca
  • Feb 11, 2026
    - vlimits.c
    : avoids no file found exit when .qmailadmin-limits is not existent because no limits are defined yet (a565779)
    - added sql files to be imported on upgrade to v. 5.6.x (8136480)
  • Feb 8, 2026
    - migliorata la sezione "upgrade"
    - vmysql.c changes (#10)
    • valias_create_table now check if table is already created in order to avoid warnings in dotqmail2valias
    • solved quotes issue in query in valias_insert function
  • Nov 20, 2025
    - vutil: 'isSomething' functions reviewed to satisfy qmailadmin calls in #9
    - Added definition of 'call_onchange' function and cured its calls to avoid break 97ffe38
  • Oct 30, 2025 (v. 5.6.10)
    - Added specific usage informations for s/qmail users (look here)
    - Dropped -std=gnu17 from compilation options and solved (probably) all breaks and warnings on gcc 15.2 2d8526d
    - configure.ac now looks for mariadb include and lib dir in addition to mysql dab36e8
    - configure.ac automatically looks for vanilla qmail's users/cdb and s/qmail's users/assign.cdb file 723efb3
    - Updated the usage() funcion message in vadduser.c to clarify the use of pre-hashed passwords with -e 5b5ccdb
    - control/defaultdelivery is now installed by vpopmail if --enable-defaultdelivery 77f54eb
    - vrcptcheck checks all kind of address (users, forwards, valiases) #7
    - Dropped unused functions in vpopmail.c #8
  • Sep 1, 2025 (v. 5.6.9)
    - added -std=gnu17 to gain compatibility with gcc-15 (PR #6)
    - pw_clear_passwd field enlarged to varchar(128) to create room for long passwords (tx Ricardo Brisighelli) c54688d
  • Mar 29, 2025
    - defaultdelivery
    feature (--enable-defaultdelivery) changes (more info here, commit):
    • vdelivermail is installed by default in .qmail-default of newly created domains with option 'delete' as in the previous version.
    • if no user's valiases and no .qmail are found, then the message is sent to the control/defaultdelivery file, so that dovecot-lda (or whatelse) can store the mail into inbox and execute the sieve rules.
    • if vdelivermail is found in control/defaultdelivery, then it is ignored. The delivery remains in charge to vdelivermail, to avoid loops.
    • v. 5.6.8 is backward compatible. The users having .qmail from previous versions of the defauldelivery feature are not affected by this change.

Aggiornare qmail

9 settembre 2026 by Roberto Puzzanghera 18 commenti

Call for testers

Ho appena tirato su una modifica a tutto il codice di base, mirata a rendere il codice di qmail compatibile con le specifiche C23 e i gli ultimi compilatori GCC e Clang. Sul mio server di produzione funziona senza alcun problema da alcune settimane. La compilazione è stata testatta su linux, freebsd, openbsd, netbsd e con i compilatori GCC fino alla versione 15.2 e Clang fino alla versione 19.1.7. Trattandosi di una modifica importante, prima del rilascio definitivo, chiederei a chi ne avesse la possibilità di collaborare al testing scaicando l'ultima versione come segue

git clone https://github.com/sagredo-dev/qmail.git

Changelog

  • Sep 8, 2026 (pre release)
    More info in the changelog
    - Modernization for compatibility with C23 and recent GCC/clang releases in #44
    srs: do not rewrite qmail's internal envelope addresses ("#@[]" and VERP) by @yohgaki in #46
    - Improve general portability across linux and *BSD platforms in #47
  • Apr 7, 2026
    - (security) Remote Code Execution via Shell Injection in qmail-remote TLS Error Handler in #42 (tx Diep Pham)
  • Apr 2, 2026
    - qmail-remote auth improvements by pierluigi in #39
    - Fixed DKIM ed25519-sha256 signing and verification to conform to RFC8463 by @agerstla in #40
    - Updated qmail-qfilter to support filters defined in control/qfilters by @agerstla in #41
  • Feb 25, 2026
    - Improved DKIM status handling by @agerstla in #35
    - Ported over DKIM_BAD_IDENTITY support from Indimail (tx Manvendra Bhangui and Andreas Gerstlauer 1299b55)
    - SNI support for qmail-smtpd by @agerstla in #37
    - Added qmail-qfilter by @agerstla in #38
  • Apr 25, 2025
    - added a configuration script config-all, which configure and installs the control files (as per the original config-fast script), aliases, SRS (uses control/me as the srs_domain), log dirs in /var/log/qmail, tcprules (basic, just to make initial tests), supervise scripts, qmailctl script, DKIM control/filterargs and control/domainkeys dir, SURBL, smtpplugins, helodnscheck spp plugin, svtools, qmHandle, queue-repair, SSL key file (optional). 

Roundcube webmail

6 settembre 2026 by Roberto Puzzanghera 4 commenti

Roundcube è una webmail avanzata con una bella interfaccia grafica.

Changelog

  • Sep 6, 2026
    - version 1.7.4 (security release)
  • Mar 9, 2025
    added $config['quota_zero_as_unlimited'] = true; to show quota unlimited instead of unknown for accounts with unlimited quota

qmail - basic setup

31 agosto 2026 by Roberto Puzzanghera 30 commenti

Changelog

  • Aug 31, 2026
    - fixed a qmail-queue issue on OpenBSD
  • 25 giugno 2026
    - disponibile il ramo netqmail per utenti OpenBSD
  • 19 agosto 2025
    - netqmail-1.07.1 ora compila con gcc 15.3
  • 10 febbraio 2025
    - i sorgenti di netqmail sono ora compatibili con le nuove versioni di gcc e clang.
    - rinominati come netqmail-1.07 i vecchi sorgenti di netqmail

QmailAdmin

29 agosto 2026 by Roberto Puzzanghera 5 commenti

qmailAdmin è un software libero che fornisce un'interfaccia web per gestire sistemi qmail con domini virtuali basati su vpopmail. Fornisce amministrazione per la creazione/cancellazione di utenti, alias, forward, mailing list e autoesponder.

Changelog

  • Aug 29, 2026
    - Bug fix: avoided to add translations from 400 to 450, as they are reserved strings for autoresponder's headers in #9. Thanks to ueli for spotting the bug.
  • Nov 28, 2025 (v1.2.27)
    - Solved a compilation break on mailinglist.c when onchange is enabled in vpopmail a6395a9
    - --with-auth-log becomes --with-auth-logdir e6bdd48
    - Dropped VPOPMAIL_DEFS_H def in template.c 658eaa9
    - Revised the definition of PACKAGE and VERSION macros in several .c files 18abb99 bff23be
    - Functions file_exists() and str_replace() renamed to file_exists2() and str_replace2() on util.c because they are already defined in vpopmail bff23be
    - Fixed quick search button functionality (wasn't working well) bff23be
    - qmailadmin now requires vpopmail-5.6.11 a640c59
    - Solved undefined EZMLDIR and changing --enable-auth-log to --enable-auth-logdir in #5
    - Dropped a lot of br tags in lang files, fixed accents in italian language in #6
    - Dropped unusued --enable-help feature in configure in #7
    - mailinglist.c: if MySQL support is enabled mysql:localhost is the default host in #8
  • Nov 8, 2025 (v1.2.26)
    - Improved the handling of program exit because of wrong configuration. This should avoid the unpleasant "blank screen" situation in some cases.
    * Configure program is now able to require a minimum vpopmail version 3846a52
    * Upgrade in auth-logging feature: added configurable auth log path via --with-auth-log=DIR (default ~vpopmail/log). Log file now written under vpopmail privileges instead of apache. 59e234d 04e2bf9 0c75b47 5f768b1
    * Added verbosity to the "File error" event #4

Installazione di Dovecot e sieve su qmail + vpopmail

28 agosto 2026 by Roberto Puzzanghera 7 commenti

Changelog

  • Aug 28, 2026
    - dovecot upgraded to v2.4.5
    - the new version has lua as a dependency. Added --without-lua at configure command
  • Feb 25, 2026
    - Added Server Name Indication (SNI) settings in sni.conf.template, imported from local.conf commit
    - userdb iterate query nor orders by domain and username commit
    - 15-mailboxes.conf: fts_autoindex = no added to Trash and Junk folders commit
    - 10-auth.conf: + character added to auth_username_chars commit
  • Nov 24, 2025
    - dropped 'enforce = no' from 90-quota.conf to enforce quota limits (commit)
  • Nov 22, 2025
    - quota driver switched to 'count' (commit). 'count' is the recommended way of calculating quota on recent Dovecot installations.
  • Mar 15, 2025 (config version 2.4.0.1 diff
    - Added quota warnings feature. Improved quota configuration in 90-quota.conf (more info here)
    - Configured auth-master.conf.ext and auth-deny.conf.ext. To be included from local.conf
  • Mar 9, 2025
    - fixed quota calculation in sql queries (tx Hakan Cakiroglu)
  • Feb 22, 2025
    - Bug fix in 90-sieve.conf: global script to move spam into Junk now working
    - Bug fix in move-spam.sieve: erroneously matches "YES" if "BAYES" is in the header
  • Feb 15, 2025
    - added support for vpopmail configured with --disable-many-domains
    - 90-sieve.conf: global script move-spam.sieve called correctly
  • Jan 29, 2025
    - dovecot upgraded to v 2.4.0. Old configuration files are not valid anymore and you have to install dovecot from scratch.
  • Nov 15, 2024
    - added a postlogin script to update the vpopmail.lastauth SQL table on login (see 10-master.conf, thanks kengheng)
  • Dec 29, 2023
    default_pass_scheme = SHA512-CRYPT (was MD5-CRYPT) in dovecot-sql.conf.ext, as vpopmail-5.6.x has now SHA512-CRYPT password by default

Impostare il firewall con Fail2Ban

16 agosto 2026 by Roberto Puzzanghera 0 commenti

Fail2ban ispeziona i log file (ad es. /var/log/apache/error_log) e banna IPs che mostrano un comportamento sospetto -- troppe password sbagliate, tentativi di  exploits, etc. Generalmente Fail2Ban è quindi usato per aggiornare le regole del  firewall al fine di rigettare gli indirizzi IP durante un intervallo di tempo settabile, benchè ogni altra azione (come l'invio di una mail di notifica) può anche altresì essere impostata. Tra le altre cose Fail2Ban mette a disposizione dei filtri per diversi servizi come apache, courier, ssh, etc.

Mostrerò brevemente come installare e configurare fail2ban per rigettare le connessioni di IP sospetti, specialmente quelli riguardanti la patch qmail-dnsrbl. Ciò evita di essere bannati noi stessi da spamhaus, che è gratuito solo fino a 100.000 query al giorno.

fail2ban richiede che si abbia un firewall come nftablesiptables attivo.

Changelog

  • Aug 16, 2026
    - Fail2Ban upgraded to v. 1.1.1 (changelog)
  • Nov 8, 2025
    - qmailadmin log file is now /home/vpopmail/log/qmailadmin-auth.log
  • Mar 14, 2025
    - dovecot filter updated for dovecot 2.4

Installare un certificato Let's Encrypt per i server qmail e dovecot

6 agosto 2026 by Roberto Puzzanghera 9 commenti

Changelog

  • 25 luglio 2026 (v. 4.0) Script hook e documentazione sottostante completamente revisionati.
    - Aggiunto un nuovo script wrapper dehydrated-renew per eseguire il rinnovo del certificato e la sincronizzazione del servizio per SNI solo quando uno o più certificati sono effettivamente cambiati.
    - Introdotto un meccanismo di flag di modifica (dehydrated.changed) per evitare ricaricamenti e riavvii non necessari del servizio se un certificato è stato effettivamente distribuito.
    - Consolidate le operazioni post-rinnovo nella nuova funzione cert_sync(), fornendo un unico punto di ingresso per la sincronizzazione della configurazione dei certificati di qmail, Dovecot e Apache dopo i rinnovi riusciti. La stessa funzione cert_sync() può essere chiamata tramite uno script autonomo, che non coinvolge l'esecuzione di dehydrated. Ridotte le interruzioni non necessarie del servizio eseguendo la sincronizzazione una volta per ogni ciclo di rinnovo anziché una volta per ogni certificato rinnovato.
    - Il certificato qmail viene creato solo se è impostato MAKE_MAIL_CERTS=1. Se MAKE_MAIL_CERTS=0, lo script hook distribuisce solo i certificati (da utilizzare per il server web).
    - Le funzionalità Server Name Indication (SNI) per qmail e dovecot possono essere disabilitate impostando ENABLE_SNI=0 (impostazione predefinita).
    - Le voci ServerName e ServerAlias ​​per Apache e i domini SNI possono essere impostate facoltativamente con ENABLE_APACHE_SNI_CONF=1.

To enable HTTPS on your website, you need to get a certificate (a type of file) from a Certificate Authority (CA). Let’s Encrypt is a CA. In order to get a certificate for your website’s domain from Let’s Encrypt, you have to demonstrate control over the domain. With Let’s Encrypt, you do this using software that uses the ACME protocol which typically runs on your web host.

clamav-unofficial-sigs

6 luglio 2026 by Roberto Puzzanghera 0 commenti

  • Maggiori informazioni qui
  • Versione: 8.0.0

clamav-unofficial-sigs fornisce un modo semplice di scaricare, testare e aggiornare database verificati di terze parti forniti da Sanesecurity, FOXHOLE, OITC, Scamnailer, BOFHLAND, CRDF, Porcupine, Securiteinfo, MalwarePatrol, Yara-Rules Project, urlhaus, etc. Lo script genera e installa anche cron, logrotate, e i file man.

Aggiornamento

L'aggiornamento alla versione major 8.0.0 a partire dalla versione 7.x semplice:

clamav-unofficial-sigs.sh --upgrade
clamav-unofficial-sigs.sh --force

Controllare il file log /var/log/clamav-unofficial-sigs/clamav-unofficial-sigs.log alla fine.

Server Name Indication (SNI) per qmail e dovecot

18 marzo 2026 by Roberto Puzzanghera 0 commenti

Server Name Indication (SNI) è una estensione del protocollo TLS che consente a un server di presentare differenti certificati a seconda dell'hostname richiesto dal client durante il saluto TLS.

In un ambiente email moderno, molti domini condividono uno stesso indirizzo IP per i servizi SMTP, IMAP, POP3 e submission. Senza SNI, un amministratore di un server email può presentare un solo certificato per ogni socket disponibile, cosa che obbliga l'aministratore ad affidarsi a certificati multi-dominio (SAN) o a certificati con wildcard. Questo approccio aumenta i problemi operativi tra gli utenti finali novelli, che spesso non sono in grado di usare la configurazione automatica del client per configurare correttamente le loro mailbox.

L'abilitazione di SNI nei serivizi mail consente al server di presentare il certificato appropriato basato sull'hostname richiesto dal client, contenuto nel suo indirizzo email.

La funzionalità SNI per la mia distribuzione qmail è stata aggiunta da Andreas Gerstlauer (commit qui e qui), che vorrei ringraziare.

qmail notes

Pay me a coffee:

PayPal - The safer, easier way to pay online.

LXC scripts
Other contents
Guide per gli utenti
Ultimi commenti
Articoli recenti

RSS feeds