Koozali.org: home of the SME Server
Other Languages => Italiano => Topic started by: Spillo on September 26, 2017, 03:40:40 PM
-
Salve,
a seguito di un controllo ho necessita di conoscere tutte le mail inviate e ricevute da un particolare utente.
La mail può essere stata inviata sia tramite thunderbird sia tramite webmail
Ho effettuato un grep -R "nomeaccount" * sotto la directory /var/log ma non riesco a vedere date di spedizione e/o ricezione, ho usato cat "nomeaccount"|tai64nlocal ma non vedo le date......sto sbagliando qualcosa di sicuro....
quello che mi servirebbe è estrapolare riferito a quell'utente è una info del tipo
inviate: datamail destinatario
ricevute: datamail mittente
grazie
-
ciao
i dati che ti servono sono in /var/log/qpsmtpd e /var/log/sqpsmtpd a seconda che siano stati inviati da webmail o thunderbird
prima di tutto ricorda che tali log sono sottoposti a rotazione e la rotazione dipende da quanta posta il server in oggetto si smazza.. se è tanta, i log presenti possono essere relativi ad un ristretto ambito temporale e questo ti limita nella ricerca del dato (soprattutto i quelli in uscita -> qpsmtpd)
per avere la posta inviata, creati un file test.sh (o come preferisci) nella directory dei log e mettici dentro:
for f in current \@*
do
echo "Processing $f"
grep '<KEY@' $f | grep logterse | tai64nlocal | awk ' {print $1,$2 $10, $11} '
done
dove KEY è l'indirizzo da cercare, nella forma utente@ o, meglio, indirizzo completo
Occhio che questo troverà tutti i messaggi inviati da utente (in sqpsmtpd), inviati da altri utenti del server a utente (sempre in sqpsmtpd) e tutti i messaggi ricevuti da utente da indirizzi esterni (in qpsmtpd)
l'output è del tipo:
2017-09-13 12:09:46.244515500 <utente@tuodominio.tld> <dest1@dominio.tld>
2017-09-13 18:02:48.981511500 <utente@tuodominio.tld> <dest1@dominio.tld>,<dest2@dominio.tld>
2017-09-14 18:21:48.870518500 <utente@tuodominio.tld> <destX@dominioY.tld>
l'ideale è redirigere l'output su un file di testo e poi elaborarlo esternamente
HTH
-
Ciao,
grazie per lo script, ho potuto provarlo solo stamane visto che mi avevano inibito l'accesso al server.... funziona quasi come tu hai indicato ma il risultato è una cosa del tipo:
2017-09-26 10:27:17.876618500[indirizzo_IP_sorgente] <nome@miodominio.tdl>
2017-09-26 11:10:19.394903500[127.0.0.1] <accountinteressato@miodominio.tdl>
Ritengo che la prima sia una mail ricevuta e la seconda una mail inviata.....???
A prescindere che tutte le mail di questa persona soggetta a verifica (accountinteressato@miodominio.tdl) sono indirizzate ad utenti interni (in effetti si interfaccia solo con persone in azienda), non vedo l'input come tu l'hai indicato
2017-09-13 12:09:46.244515500 <utente@tuodominio.tld> <dest1@dominio.tld>
Credo che questo che ho ottenuto basti a chi di dovere, ma la cosa mi interessa per il futuro, siamo molto soggetti a queste verifiche
Grazie per quanto sopra
-
allora..
la riga è errata, manca una virgola, deve essere
grep '<KEY@' $f | grep logterse | tai64nlocal | awk ' {print $1,$2, $10, $11} '
questo filtro, eseguito sui file in sqpsmtpd, ti permette di sapere le mail inviate da (se compare nella prima colonna) o a (nella seconda) l'account di tuo interesse, tramite client di posta con smtp autenticato
per le mail inviate tramite webmail dovresti trovare risposta nei file in qpsmtpd e l'ordine dei campi dovrebbe essere rispettato.. in ogni caso fai un po' di prove (magari inviati un messaggio via webmail) e adatta la cosa ;-)
-
Ciao,
Correzione fatta sullo script, l'output resta uguale a quello postato precedentemente, quindi mi mancano i destinatari
Fatto la prova su un altro SME e su questo l'output risulta essere identico a quello da te indicato per cui vedo mitt, dest1, dest2, etc.
Differenze nei log? Una cosa che non ho specificato perche la ritenevo inutile è che quella sulla quale ho fatto le prime prove è una versione 8 l'altra sulla quale l'output è esattamente come scrivi tu è una 9...... anche se ritengo che i log siano identici per le versioni....(???)
-
Ritieni, ahimè, male :-)
sono cambiate molte cose tra la 8 e la 9
i parametri $1 ecc sono i campi che vedi facendo
grep '<KEY@' $f | grep logterse | tai64nlocal
lo spazio è preso come separatore di campo.. quindi giostrati con i valori di $2, 3 ecc per visualizzare quello che serve sa te.. non ho una 8 per fare test
infine, la 8 è unsupported e potenzialmente insicura, e quindi non dovrebbe essere esposta su WAN e dovresti programmare un aggiornamento quanto prima.
-
Ciao....
ok...sono andati via.... :grin: ora posso verificare con calma quanto mi hai scritto e fare prove tanto prima o poi mi serve perche questi tornano...tornano sempre :?
La versione 9 è in programma non appena cambiamo tutta l'infrastruttura....una decina di giorni.
Grazie