Le jeudi 11 juin 2009 23:38, Paul Marques Mota a écrit : > Le 11 juin 2009 21:38, Alain Vaugham<[email protected]> a écrit : > > Le jeudi 11 juin 2009 18:38, Paul Marques Mota a écrit : > >> Le 11 juin 2009 06:47, Alain Vaugham<[email protected]> a écrit : > >> > Le jeudi 11 juin 2009 16:08, Paul Marques Mota a écrit : > >> >> Le 11 juin 2009 14:47, Alain Vaugham<[email protected]> a écrit : > >> >> > Bonjour la liste, > >> >> > >> >> Bonjour, > >> >> > >> >> > Est-ce que quelqu'un pourrait m'indiquer la syntaxe pour écrire la > >> >> > date et l'heure avec Formail? > >> >> > >> >> Je dirais : > >> >> > >> >> formail -a "Date: $(date -R)" < mail.txt > >> >> > >> >> L'option -a rajoute un champ s'il n'existe pas déjà, -I le remplace. > >> > >> ... l'option -A rajoute un champ, même s'il existe déjà. > >> > >> > Merci Paul pour ta réponse. > >> > >> De rien. > >> > >> > Le champ "Date: ......" dans le mail est normalement créé avec la > >> > date de la machine sur laquelle le mail a été créé (l'émetteur du > >> > mail) > >> > > >> > La date que je veux écrire est celle de la machine sur laquelle tourne > >> > mon Formail (sur mon serveur de > >> > mail-qui-reçoit-des-mails-antidatés-ou-postdatés) Je ne veux donc pas > >> > toucher à l'entête "Date:". > >> > Je veux juste ajouter un entête "X-L'heure d'arrivée est:" > >> > >> Dans ce cas, ça devient : > >> > >> formail -A "X-arrival-time: $(date -R)" < mail.txt > > > > J'ai suivi exemple au pied de la lettre. > > En fait, non, tu utilises très certainement formail dans procmail, ce > que tu n'avais pas précisé.
C'est exact. Je n'avais jamais vu d'utilisation de Formail en dehors de Procmail. > > > Le -A ou le -a ajoutent bien un en-tête mais le "< mail.txt" l'annule. > > > > Explications : > > |formail -A "X-arrival-time: $(date -R)" < mail.txt > > > > n'ajoute aucun en-tête. > > > > |formail -A "X-arrival-time: $(date -R)" > > > > ajoute l'en-tête suivant. La formule y est mais pas la date/heure : > > X-arrival-time: $(date -R) > > > > > > Dans le fichier mail.txt j'ai mis n'importe quel texte : > > 2009-06-11 17:18:19 > > > > Je comprend que mail.txt est une entrée destinée à alimenter Formail mais > > je ne comprend pas de quel entrée il s'agit puisque Formail est censé > > travailler soit sur le mail, soit sur une copie du mail et qu'il doit > > aller chercher la date quelque part dans une commande "date". > > Je pense qu'on sort du cadre de Formail maintenant. > > > > C'est quoi cette source " < mail.txt" qui me perturbe tant? > > C'est une copie d'un de mes mails. La forme : > |formail -A "X-arrival-time: $(date -R)" > > dans un .procmailrc indique que procmail envoie le contenu du mail à > formail. La forme : > > formail -A "X-arrival-time: $(date -R)" < mail.txt > > tapée dans un terminal indique que formail va lire le contenu du > fichier mail.txt. > > > J'ai testé aussi avec une variable : > > |formail -A "X-arrival-time: $horodatage" > > > > ça marche bien tant que la variable est définie ainsi : > > horodatage=du-texte-ici > > Mais si je tente d'y mettre des formules, je récupère les formules mais > > pas le résultat escompté : la date (voir mon post initial). > > Parce que procmail ne permet pas de lancer de commandes récursivement, > > il faut utiliser sh : > |sh -c 'formail -A "X-arrival-time: $(date -R)"' C'est donc le principe des poupées russes. La date est accessible par Formail mais celui-ci a besoin d'être lancé sous Bash parceque Procmail ne sait pas lancer un programme depuis un autre programme. En y réfléchissant, d'après les erreurs, c'est peut-être "date" qui ne passait pas à cause de la limitation sur la récursivité de Procmail. J'en ai profité pour creuser dans les man de formail, bash et date. Si ça peut resservir, voici le résultat et comment je l'ai obtenu avec une recette Procmail : X-Timestamp-IncomingMailServer: 20090612_01:03:07 :0fhw: |sh -c 'formail -A "X-Timestamp-IncomingMailServer: $(date +%Y%m%d"_"%H":"%M":"%S)"' Le -c pour récupérer les commandes provenant de la chaîne 'formail....'. Le -A pour ne pas écraser un éventuel en-tête identique déjà présent. Les % pour la lisibilité de l'horodatage. Merci Paul. -- Alain Vaugham -------------------------------------------------------- [PUB] Signature numérique GPG de ce courrier: 0xD26D18BC
pgplo3Vfn8V2J.pgp
Description: PGP signature
_________________________________ Linux mailing list [email protected] http://lists.parinux.org/mailman/listinfo/linux
