Automatické čištění koše a/nebo nevyžádaných složek pomocí ISPConfig (s Roundcube + Tmpreaper (Tmpwatch ))
Přehled:
Tento krátký mini-návod vám pomůže nastavit automatické čištění koše a nevyžádaných složek. Většina (webových) poštovních klientů je (umí) automaticky vytvářet. Mnoho lidí tam nečistí poštovní adresáře, což způsobuje masivní nárůst velikosti složek Nevyžádaná pošta a Koš a vzhledem k tomu, že ISPConfig (zatím ne) dokáže nastavit dobré limity velikosti poštovních adresářů, je alternativou nechat tyto složky vyčistit po několika dnech.
Předpoklady:
Tento výukový program předpokládá, že aktuálně používáte následující nebo podobnou konfiguraci:
- Linux Debian Etch (v4.0)
- ISPConfig (v2.2.24 nebo novější)
- Vytvořit
- Nano nebo vi
- Roundcubemail (instalace balíčku v0.1.1)
- Aspoň 1 doména s 1 spuštěnou poštovní schránkou
- Nevyžádaná pošta je nastavena tak, aby byla přesunuta do složky místo mazání (Pokud není nastaveno, viz odkazy)
Pokud se tato konfigurace neshoduje s vaší, možná budete muset upravit postup, aby odpovídal vaší konfiguraci.
Odkazy:
Výukový program přesunout nevyžádanou poštu do složky místo mazání:https://www.howtoforge.com/forums/showthread.php?t=15704
Instalace balíčku Roundcubemail v0.1.1:http://ispconfig.bb-hosting .org/downloads/roundcube/roundcubemail-0.1.1.pkg
1 – Nastavení roundcubemail na automatické vytváření složek Koš a Nevyžádaná pošta
Pokud jste to již provedli pomocí Roundcubemail nebo jinými metodami, můžete tuto kapitolu přeskočit. Ujistěte se, že .Trash a .Junk existují.
Chcete-li nastavit Roundcubemail tak, aby automaticky vytvářel poštovní složky, musíme upravit konfiguraci Roundcubemail:
nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php
Vyhledejte „$rcmail_config['create_default_folders']“ a ujistěte se, že je nastaveno na hodnotu TRUE a zda je konfigurace podobná:
[...] // store draft message is this mailbox // leave blank if draft messages should not be stored $rcmail_config['drafts_mbox'] = 'Drafts'; // store spam messages in this mailbox $rcmail_config['junk_mbox'] = 'Junk'; // store sent message is this mailbox // leave blank if sent messages should not be stored $rcmail_config['sent_mbox'] = 'Sent'; // move messages to this folder when deleting them // leave blank if they should be deleted directly $rcmail_config['trash_mbox'] = 'Trash'; // display these folders separately in the mailbox list. // these folders will also be displayed with localized names $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash'); // automatically create the above listed default folders on login $rcmail_config['create_default_folders'] = TRUE; // protect the default folders from renames, deletes, and subscription changes $rcmail_config['protect_default_folders'] = TRUE; [...]
Nyní, když se uživatel přihlásí, budou vytvořeny poštovní složky.
POZNÁMKA:To vyžaduje, aby uživatel musel být přihlášen, jinak odpadkové a nevyžádané složky prostě neexistují a nebudou samozřejmě vyčištěny!
2 – Instalace tmpreaper
Balíček tmpwatch býval ve správci balíčků Aptitude, ale z neznámých důvodů byl nahrazen. Další varianty linuxu najdete v tmpwatch.
K tomu zadáme následující příkaz:
apt-get install tempreaper
DŮLEŽITÉ:Pokud můžete použít tmpreaper, přejděte ke kapitole 3. Pokud musíte použít tmpwatch, nezapomeňte upravit soubor cron!
Pokud nemůžete použít tmpreaper, můžete si stáhnout a nainstalovat tmpwatch následovně:
cd /usr/src
wget http://linux.bononline.nl/linux/tmpwatch/src/tmpwatch-2.9.0.tar.gz
tar xvzf tmpwatch-2.9.0.tar.gz
cd tmpwatch-2.9.0
make
make install
Díky MTvermoes!
3 – Přidat cronjob
Nyní potřebujeme přidat cronjob, aby systém denně kontroloval, které e-maily budou potřeba ke smazání. Doporučujeme, abyste toto nastavení nastavili na cron.daily, aby každý den kontrolovali e-maily, které jsou dostatečně staré na smazání. Můžete jej však také umístit do cron.hourly, což je nezbytné, pokud používáte maximální čas kratší než 24 hodin, jinak by se stále kontrolovalo pouze denně.
Chcete-li to provést, přejděte na /etc/cron.daily
cd /etc/cron.daily
Nyní vytvoříme nový soubor „clean-mailfolders“
nano clean-mailfolders
A aby to vypadalo takto:
#!/bin/sh # Time to wait before removing mails from the Junk folder (Default: 7 days) Set 0 to turn off. junk_max_hours=$((24*7)) # Time to wait before removing mails from the Trash folder (Default: 30 days) Set 0 to turn off. trash_max_hours=$((24*30)) for domain in /var/www/* do if [ -d "$domain"/user ] then for user in $domain/user/* do if [ "$junk_max_hours" -gt "0" ] then if [ -d "$user/Maildir/.Junk" ] then tmpreaper -m $junk_max_hours $user/Maildir/.Junk/{cur,new} fi fi if [ "$trash_max_hours" -gt "0" ] then if [ -d "$user/Maildir/.Trash" ] then tmpreaper -m $trash_max_hours $user/Maildir/.Trash/{cur,new} fi fi done fi done
Možná budete chtít změnit data, aby vyhovovala vašim vlastním potřebám. Na začátku souboru jsou uvedeny 2 proměnné pojmenované "junk_max_hours" obsahující maximální počet hodin, po které je uchovávána pošta ve složce Nevyžádaná pošta, a "trash_max_hours" obsahující maximální počet hodin pošty ve složce Koš. Nastavením hodnoty na 0 zakážete čištění tohoto typu.
POZNÁMKA:Pokud musíte místo tmpreaper použít tmpwatch, nezapomeňte upravit soubor cron a nahradit „tmpreaper“ za „tmpwatch“.
Závěr
Ujistěte se, že jste to zkontrolovali před skutečným spuštěním na produkčních serverech. Tento návod je dodáván bez jakékoli záruky. Buďte moudří, testujte!
Proměnné můžete upravit tak, aby vyhovovaly vašim vlastním potřebám, jak bylo popsáno výše.
Doufám, že se vám můj první tutoriál bude líbit!