È procmail chroot o limitata ad utilizzare i comandi di Linux?
Domanda
im utilizzando procmail alle e-mail inoltrare a diverse cartelle nel mio Maildir. Io uso queste due righe per ottenere Da e dalla posta elettronica, che funziona piuttosto bene.
FROM=`formail -x"From:"`
TO=`formail -x"To:"`
Questi due comandi restituire tutta la linea senza la Da: e A: prefisso. In modo da ottenere qualcosa di simile a:
Firstname Lastname <firstname.lastname@mail-domain.com>
Ora voglio estrarre l'e-mail tra il
FROM_PARSED=`echo $FROM | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`
TO_PARSED=`echo $TO | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`
Ma quando stampo FROM_PARSED nel registro procmail utilizzando LOG = FROM_PARSED, ottengo una stringa vuota in FROM_PARSED e TO_PARSED.
Ma se faccio funzionare questi comandi sulla mia console, tutto funziona bene. Ho provato molti altri metodi grepping, utilizzando grep, egrep, sed e anche taglio (taglio
E 'possibile che procmail non è consentito l'uso grep e comandi sed? Qualcosa di simile a un chroot?
I dont ottenere qualsiasi log di errore nel mio ceppo di procmail. Voglio solo estrarre l'indirizzo e-mail valido dalla linea FROM e TO. Estrazione con opere formail, ma l'analisi con grep o sed non riesce, anche se l'espressione è corretta.
potrebbe aiutare qualcuno? Forse ho bisogno di configurare procmail in qualche modo.
Soluzione
Strano.
ho aggiunto questo al fascicolo .procmailrc utenti
SHELL=/bin/bash
La shell gli utenti è stato fissato a / bin / false, che è corretto perché il suo un utente di posta, non ha accesso ssh a tutti.
Altri suggerimenti
Si dovrebbe citare correttamente "$FROM"
e "$TO
".
Si dovrà anche prefisso grep
con LC_ALL=POSIX
per garantire [:alnum:]
effettivamente corrispondere ai 26 caratteri ben noti + 10 cifre dell'alfabeto inglese.
È già risolto questo, ma per rispondere alla tua domanda attuale, è possibile eseguire procmail
in un chroot, ma questo non è certamente fatto da Procmail per sé. Sendmail l'abitudine di venire con qualcosa chiamato il Sendmail ristretta Shell (originariamente chiamato rsh
ma rinominato remsh
), che ha permesso agli amministratori di sistema di chroot il processo di consegna. Ma per riassumere, questa è una caratteristica del MTA, non di Procmail.