#!/bin/bash # Skripta za manipuliranje porukama stavljenim na cekanje # # Omogucava pregled poruka po naslovu, posiljatelju, primatelju # povratnoj adresi (reply to) i pravilu po kojem je stavljena na # na cekanje odluke administratora # # Mogucnosti: # #- Brisanje pojedine poruke #- Premjestanje poruke u neki direktorij #- Kopiranje poruke sebi ili drugom korisniku #- Pregled sadrzaja poruke #- Proslijedjivanje poruke primatelju # # Skripta se koristi na vlastitu odgovornost # # http://sistemac.carnet.hr/node/1289 # cd /var/spool/postfix/hold iz_hold="/var/poruke_iz_hold" # direktorij za evtl. premjestanje poruka koje su na cekanju for a in $(ls) do echo postcat $a|egrep 'Subject:|From:|To:|Reply-To:' && # Pravilo po kojem se filtrira mora biti definirano u odgovarajucim datotekama (vidi clanak) i stavljeno unutar # # oznaka echo "Pravilo po kojem je stavljena poruka na cekanje: #"$(zgrep $a /var/log/mail.log*|grep '#'|cut -d'#' -f2)"#" && echo echo -e "[b]-brisi [k]-posalji kopiju sebi ili drugome [p]-premjesti u $iz_hold" echo -e "[v]-procitaj [h]-proslijedi primatelju [Enter]-ostavi na cekanju i idi dalje\n" read b if [[ $b == "b" ]] then rm $a echo "Poruka $a obrisana" t="a" while [[ $t != "i" ]] do echo read -ep "[i]-dalje (slijedeca poruka) " t done fi if [[ $b == "h" ]] then postsuper -H $a echo "Poruka $a proslijedjena primatelju" t="a" while [[ $t != "i" ]] do echo read -ep "[i]-dalje (slijedeca poruka) " t done fi if [[ $b == "p" ]] then if [ -d "$iz_hold" ] then mv $a $iz_hold echo "Poruka $a premjestena u $iz_hold" else echo "Direktorij $iz_hold ne postoji, poruka $a nije premjestena" t="a" while [[ $t != "i" ]] do echo read -ep "[i]-dalje (slijedeca poruka) " t done fi fi if [[ $b == "k" ]] then read -ep "Kor. oznaka korisnika, kojem treba poslati kopiju: " -i "lcavara" k #U iduca dva redka promijeniti po potrebi putanju do direktorija e-poste postcat $a >/home/$k/Maildir/new/$a && chown $k /home/$k/Maildir/new/$a && ls -alrt /home/$k/Maildir/new/$a && echo -e "\nKopija poruke $a poslana korisniku $k" t="a" while [[ $t != "i" ]] do echo read -ep "[i]-dalje (slijedeca poruka) " t done fi if [[ $b == "v" ]] then postcat $a|more t="a" while [[ $t != "i" ]] do echo read -ep "[i]-dalje (slijedeca poruka) " t done fi done echo; echo "Nema (daljnjih) poruka stavljenih na cekanje"; echo cd -