Bonjour,
Cela fait bientôt deux jours que je n'arrive pas a trouver comment résoudre mon problème.
C'est simple : j'ai un programme d'archivage de mails que l'on appellera ARCHIVER. Ce programme sort avec un EXITCODE variable en fonction de la réussite ou non de l'opération d'archivage.
Je souhaite rajouter mon ARCHIVER à la fin de ma chaine d'action procmail (i.e après tous les filtrages de SPAM, etc ...)
Je souhaite également que procmail tienne compte du code retour de mon programme afin de pouvoir le faire remonter au MTA (SendMail, Postfix ...)
J'ai donc commencé à écrire une règle simple dans mon procmailrc :
Cela me fait bien sortir avec un code d'erreur variable ($?), j'obtiens bien un EXIT_TMPFAIL si mon programme sort en code d'erreur 75.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 :0fw |/path/to/ARCHIVER { EXITCODE=$? }
Mais cependant le mail n'est plus délivré a l'utilisateur même en cas de sortie correcte du programme d'archivage.
Voilà donc ma question :
"Je souhaite que le mail soit délivré à l'utilisateur SEULEMENT SI mon programme d'archivage ARCHIVER retourne un code de sortie classique ($? == 0). En cas de code de sortie autre ($? == 75 par exemple), je souhaite que procmail remonte immédiatement ce code au MTA et que le message ne soit pas délivré à l'utilisateur (afin d'assurer que chaque message reçu a été archivé)
Merci d'avance







Répondre avec citation
Partager