This tutorial is available in other languages. Help translate more
English /
Attention
Check out the lightweight on-premises email archiving software developed by iRedMail team: Spider Email Archiver.
Sin dalla versione 0.7.0 di IredMail, la messa in quarantena e le relative configurazioni in Amavisd sono configurate da iRedMail, ma disabilitate per default, potere facilmente abilitate il sistema di messa in quarantena tramite questo tutoria.
Con le modifiche che trovare sotto, mail Virus/Spam/Banned saranno messe in quarantena in un database SQL. Potrete a questo punto gestire le mail in quarantena con iRedAdmin-Pro.
Modificare il file di configurazione di Amavisd, trovate le configurazioni sotto riportate ed aggiornatele. Se non esistono, aggiungetele.
/etc/amavisd/amavisd.conf
oppure /etc/amavisd.conf
.
*in Debian/Ubuntu è /etc/amavis/conf.d/50-user
./usr/local/etc/amavisd.conf
./etc/amavisd.conf
.# Part of file: /etc/amavisd/amavisd.conf
# Change values of below parameters to D_DISCARD.
# Detected spams/virus/banned messages will not be delivered to user's mailbox.
$final_virus_destiny = D_DISCARD;
$final_spam_destiny = D_DISCARD;
$final_banned_destiny = D_DISCARD;
$final_bad_header_destiny = D_DISCARD;
# Quarantine SPAM into SQL server.
$spam_quarantine_to = 'spam-quarantine';
$spam_quarantine_method = 'sql:';
# Quarantine VIRUS into SQL server.
$virus_quarantine_to = 'virus-quarantine';
$virus_quarantine_method = 'sql:';
# Quarantine BANNED message into SQL server.
$banned_quarantine_to = 'banned-quarantine';
$banned_files_quarantine_method = 'sql:';
# Quarantine Bad Header message into SQL server.
$bad_header_quarantine_method = 'sql:';
$bad_header_quarantine_to = 'bad-header-quarantine';
Inoltre verificare di avere le righe sottostanti presenti nello stesso file di configurazione:
# For MySQL/MariaDB/OpenLDAP backends
@storage_sql_dsn = (
['DBI:mysql:database=amavisd;host=127.0.0.1;port=3306', 'amavisd', 'password'],
);
# For PostgreSQL
#@storage_sql_dsn = (
# ['DBI:Pg:database=amavisd;host=127.0.0.1;port=5432', 'amavisd', 'password'],
#);
Il riavvio del servizio Amavaisd è richiesto per confermare le modifiche.
Aggiornate il file di configurazione di iRedAdmin-Pro, siate certi di avere le configurazioni corrette per Amavisd:
/var/www/iredadmin/settings.py
./opt/www/iredadmin/settings.py
oppure /usr/share/apache2/iredadmin/settings.py
./usr/local/www/iredadmin/settings.py
./var/www/iredadmin/settings.py
.# File: settings.py
amavisd_db_host = '127.0.0.1'
amavisd_db_port = 3306
amavisd_db_name = 'amavisd'
amavisd_db_user = 'amavisd'
amavisd_db_password = 'password'
# Log basic info of inbound/outbound, no mail body stored.
amavisd_enable_logging = True
# Quarantining management
amavisd_enable_quarantine = True
amavisd_quarantine_port = 9998
# Per-recipient policy lookup
amavisd_enable_policy_lookup = True
Il riavvio del web server Apache o servizio uwsgi
(se usate Nginx come web server) è necessario.
Adesso potete autenticarvi in iRedAdmin-Pro e gestire i messaggi in quarantena dal menu System -> Quarantined Mails
. Scegliete l'azione adatta nella lista del menu a tendina per rilasciarli o cancellarli.
Copie delle videate sono allegate in fondo.
Note
È necessario affinché questa funzione sia operativa che abilitiate il self-service dal dominio della posta -- Lo potete abilitare nella pagina del profilo del dominio.
iRedAdmin-Pro mette a disposizione uno script che potete eseguire per notificare gli agli utenti le mail messe in quarantena: tools/notify_quarantined_recipients.py
.
La mail di notifica viene legga dal file template tools/notify_quarantined_recipients.html
, siete liberi di modificarlo affinché soddisfi le vostre necessità. (non dimenticatevi di salvare il file prima di aggiornare iRedAdmin-Pro.)
La mail di notifica conterrà il link ad iRedAdmin-Pro affinché l'utente possa cliccarlo ed autenticarsi per poter gestire le mail in quarantena. Dovete cambiare l'URL aggiungendo il parametro sotto riportato, con l'URL corretto, nel file di configurazione di iRedAdmin-Pro:
NOTIFICATION_IREDADMIN_URL = 'https://[tuo_server]/iredadmin/'
Per mandare le notifiche aggiungete un cron job che esegua: tools/notify_quarantined_recipients.py
. Esempio per inviare notifiche ogni 6 ore:
1 */12 * * * python /path/to/tools/notify_quarantined_recipients.py >/dev/null
Non dimenticare di usare il percorso corretto verso il file notify_quarantined_recipients.py
nel vostro server.
Potete anche eseguire lo script manualmente per notificare diversi utenti. Per esempio su RHEL/CentOS:
cd /var/www/iredadmin/tools/
python notify_quarantined_recipients.py