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 . Per questo tubo i variabile FROM e TO grep in questo modo.

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 ). Tutti a lavorare su console, ma lo uso in procmail semplicemente restituisce nulla.

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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top