Est-ce procmail chroot ou limitée à l'aide des commandes de Linux?
Question
im en utilisant procmail aux e-mails en avant à différents dossiers dans mon Maildir. J'utilise ces deux lignes pour obtenir le FROM et TO de la poste, qui fonctionne assez bien.
FROM=`formail -x"From:"`
TO=`formail -x"To:"`
Ces deux commandes renvoient toute la ligne sans: et Au: préfixe. Donc, je reçois quelque chose comme:
Firstname Lastname <firstname.lastname@mail-domain.com>
Maintenant, je veux extraire le courrier électronique entre
FROM_PARSED=`echo $FROM | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`
TO_PARSED=`echo $TO | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`
Mais quand j'imprimer FROM_PARSED dans le journal de procmail en utilisant LOG = FROM_PARSED, je reçois une chaîne vide dans FROM_PARSED et TO_PARSED.
Mais si je lance ces commandes sur ma console, tout fonctionne très bien. J'ai essayé beaucoup d'autres méthodes de grep, en utilisant grep, egrep, sed et même coupé (coupe
Est-il possible que procmail est pas autorisé à utiliser grep et sed commandes? Quelque chose comme un chroot?
Je n'obtiennent des journaux d'erreurs dans mon journal procmail. Je veux juste extraire l'adresse e-mail valide la ligne FROM et TO. Avec des œuvres formail extraction, mais l'analyse syntaxique avec grep ou sed échoue, même si l'expression est correcte.
pourrait-il aider quelqu'un? Peut-être que je dois procmail de configuration en quelque sorte.
La solution
Etrange.
J'ajouté au fichier des utilisateurs
SHELL=/bin/bash
Le shell utilisateurs a été mis à / bin / false, ce qui est correct parce que son utilisateur de messagerie, pas d'accès ssh du tout.
Autres conseils
Vous devriez bien citer "$FROM"
et "$TO
".
Vous aurez également besoin de préfixe grep
avec LC_ALL=POSIX
pour assurer [:alnum:]
correspondra en réalité les 26 personnages bien connus + 10 chiffres de l'alphabet anglais.
Vous avez déjà résolu, mais pour répondre à votre question réelle, il est possible d'exécuter procmail
dans un chroot, mais cela est certainement pas fait par lui-même Procmail. Sendmail l'habitude de venir avec quelque chose appelé Sendmail restreint Shell (appelé à l'origine rsh
mais renommé remsh
) qui a permis aux administrateurs système de chroot le processus de livraison. Mais pour résumer, ceci est une caractéristique du MTA, pas de Procmail.