View Full Version : procmail: creare regola che salvi tutte le mail in file di testo
ciao a tutti.
Con procmail vorrei creare una regola che mi salvi tutte le mail in una determinata cartella.
ho provato con una cosa del genere
:0c:
| >> mailarrivo
pero' non salva niente.
ciao ciao e grazie
Una lettura utile:
man procmailex
:cool:
ciao a tutti.
Con procmail vorrei creare una regola che mi salvi tutte le mail in una determinata cartella.
oltre alla man page che ti hanno gia' suggerito, con la seguente regola salvi tutte le e-mail in ingresso in file zippato.
:0c:
| gzip -9cf >> $ARCHIVEDIR/backup.gz
mi sono inviato una mail, poi ho lanciato procmail (echo | procmail), crea l'archivio, pero' vuoto.
Anche se gli dico di stampare le mail sullo stdout stampa sempre delle righe vuote,
dove sbaglio?
ciao e grazie
mi basterebbe un aiutino per partire...
ho creato il file .forward pero' quando mi invio una mail questa sparisce :cry:
ciao
prova a postare .procmailrc
.forward
|IFS=' ' && exec /usr/bin/procmail || exit 75 #root
.procmailrc
VERBOSE=on
DEFAULT=/var/spool/mail/root
MAILDIR=$HOME/MAIL
LOFGILE=$MAILDIR/log
:0:
prova
grazie per l'aiuto
Mi spieghi bene cosa intendi fare?
Quale utente deve ricevere la posta ( è root?) e dove vuoi che vada a finire?
vorrei che tutta la posta in ingresso fosse messa in una cartella: ogni mail un file.
Il discorso dei filtri lo affronto dopo.
ciao e grazie
usa:
:0
* .*
Inbox
e dai un occhiata a questo link dove ci sta tutto procmailrc:
LINK (http://www.piloz.it/index.php?page=howto&num=14)
vedo che ti mancano alcune cose importanti.
Ciao
ogni mail un file.
allora è sbagliato quello che ti ho detto prima che userebbe mbox.
mi pare sia Inbox/ o .Inbox ma non trovandomi a casa non per ora non posso dartene conferma :(
Esempio. io utilizzavo questo:
# Debian
:0:
* ^List-Id: <debian-italian.lists.debian.org>
$MAILDIR/Lists/debian/
dunque nel suo caso:
:0
* .*
Inbox/
mi crea i file per ogni mail, pero' sono vouti e le mail finiscono lo stesso in /var/spool/mail/root
ma il .forward serve ancora?
mi crea i file per ogni mail, pero' sono vouti e le mail finiscono lo stesso in /var/spool/mail/root
Devi specificare dove vuoi che finiscano le mail, vedi il mio esempio.
il file .forward e' corretto?
con il file che ho scritto sopra non arriva niente.
ciao e grazie
il file .forward e' corretto?
con il file che ho scritto sopra non arriva niente.
Boh io non lo utilizzavo :)
Aggiorna qui il tuo .procmailrc e vediamo.
ho copiato quello sul sito di Piloz.
Ho notato che le mail vanno a finire in /var/spool/mail/nobody
stranissimo
Hai creato le directory come indicato nel file .procmailrc?
Ho fatto un test qui da me e funziona:
~/.procmailrc
PATH=/usr/local/bin:/usr/bin:/bin
MAILDIR=$HOME/Mail #youd better make sure it exists
DEFAULT=$MAILDIR/Inbox/ #completely optional
#varie
FORMAIL=/usr/bin/formail
#log
VERBOSE= yes
LOGABSTRACT= yes
LOGFILE=$MAILDIR/log/procmail.log #raccomandato
#regola principale
:0
* .*
$MAILDIR/Inbox/
Ho scritto una mail di prova:
echo "prova messaggio" |mail -s "prova" root
All'interno di ~/Mail ho la directory Inbox che contiene tre directory cur new tmp. All'interno di new è presente la mail che ho appena inviato.
potresti postare anche il tuo file main.cf di postfix?
ciao e grazie
potresti postare anche il tuo file main.cf di postfix?
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
myhostname = amd64
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = amd64, localhost.localdomain, localhost
relayhost = out.virgilio.it
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# SASL SUPPORT FOR SERVERS
#
# The following options set parameters needed by Postfix to enable
# Cyrus-SASL support for authentication of mail servers.
#
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options =
funziona qualcosa solo se lanio procmail in manuale, pero' i file che crea sono vuoti...
se utilizzo il tuo file main.cf fallisce l'avvio di postfix
booo
funziona qualcosa solo se lanio procmail in manuale, pero' i file che crea sono vuoti...
Ma non devi lanciarlo a mano... :mc:
se utilizzo il tuo file main.cf fallisce l'avvio di postfix
dove fallisce postfix?
mostra il tuo main.cf e controlliamo! :)
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = linux.universita-unogrex.no-ip.org
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
mailbox_command = /some/where/procmail
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
html_directory = /usr/share/doc/packages/postfix/html
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES
inet_protocols = all
biff = no
mail_spool_directory = /var/spool/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = linux.site
program_directory = /usr/lib/postfix
inet_interfaces = all
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
relayhost = smtp.tiscalinet.it
mailbox_transport =
strict_8bitmime = no
disable_mime_output_conversion = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 10240000
:confused: :confused: :confused:
mailbox_command = /some/where/procmail
mailbox_command = procmail -a "$EXTENSION"
questo non fallisce, mentre se uso il tuo si.
come faccio a fare un debug per vedere dove fallisce?
grazie e scusa se ti stresso
questo non fallisce, mentre se uso il tuo si.
Si, ma il comando è errato e devi correggerlo altrimenti non funzionera' MAI procmail
come faccio a fare un debug per vedere dove fallisce?
apri una shell:
tail -f /var/log/syslog
e leggi eventuali errori
grazie 1000.
ho fatto come hai deto tu lavorando con un altro utente e tutto funziona alla grande.
adesso imparo per bene le regole... :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.