OVH Cloud OVH Cloud

Sendmail lancer un script a reception d'un message pour réexpedition

3 réponses
Avatar
projlin
Bonjour,

J'ai un serveur sous linux avec sendmail qui tourne dessus.
Tout va biens...

J'ai besoins de renvoyer un message à la reception mais en modifiant
le message.

Imaginons que je reçoive un mail sur toto@toto.com
Objet : bonjour toto
Corps du message : salut toto comment vas-tu ?

Je doit : Virer l'objet et mettre le corps a la place de l'objet …
Et le re-expedier a titi…

Ré-expidition du mail sur titi@titi.com
Objet : salut toto comment vas-tu ?
Corps du message : salut toto comment vas-tu ?

Bien évidement j'ai accès en root sur ce serveur mais il est partagé
entre plusieurs
Utilisateurs – Administrateurs donc je doit laisser sendmail en place…

Une idée pour moi ???

Merci

projlin@hotmail.com

3 réponses

Avatar
Thomas Nemeth
Le mar 18 nov 2003 à 16:32, a tapoté :
| Bonjour,

Bonsoir.


| Imaginons que je reçoive un mail sur
| Objet : bonjour toto
| Corps du message : salut toto comment vas-tu ?
|
| Je doit : Virer l'objet et mettre le corps a la place de l'objet …
| Et le re-expedier a titi…

Ouch.
Mauvaise idée.
Si le corps de de message contient soit des accents (non conforme
aux RFC) ou plusieurs lignes (le "ou" n'est pas exclusif), tu
risques d'avoir de GROS problèmes de transmission :)


| Ré-expidition du mail sur
| Objet : salut toto comment vas-tu ?
| Corps du message : salut toto comment vas-tu ?

S'il s'agissait d'une simple redirection du mail il suffit
de mettre
titi
dans le .forward de ton compte.
Ceci dit, cela va transmettre _tous_ les messages à titi.

Sinon tu peux te faire des recettes procmail. Ça demande un peu
plus de réflexion pour le mettre en oeuvre. Si tu veux _vraiment_
mettre le corps du message dans l'objet (non souhaitable), il faut
que tu t'assures que ce corps tienne sur 1 seule ligne (virer les
retours à la ligne, toussa), mais ça risque d'être vraiment un
très long objet :(


| Merci

Avec plaisir.


Thomas
--
BOFH excuse #113:
Root nameservers are out of sync.
Avatar
David LE BOURGEOIS

Bonjour,


Bonsoir.


J'ai un serveur sous linux avec sendmail qui tourne dessus.
Tout va biens...

J'ai besoins de renvoyer un message à la reception mais en modifiant
le message.

Imaginons que je reçoive un mail sur
Objet : bonjour toto
Corps du message : salut toto comment vas-tu ?

Je doit : Virer l'objet et mettre le corps a la place de l'objet …
Et le re-expedier a titi…


Et ça donne quoi avec de l'uuencode dans le corps du message ?


Ré-expidition du mail sur
Objet : salut toto comment vas-tu ?
Corps du message : salut toto comment vas-tu ?

Une idée pour moi ???


Pour reformater les mails, j'utilise formail, qui entre autres, permet
d'extraire divers champs du message source (From:, Subject:, etc...) et
permet aussi de formatter une réponse avec ou sans le message original.
Pour plus d'infos sur toutes les possibilités, man formail.

Sinon, pour des traitements plus spécifiques, j'utilise aussi sed et
awk (passage de parametres à des robots mail : commande=ls, param1=/tmp,
param2=/var/log, ...).

Et, en ce qui concerne la ré-expédition de courrier, il faut s'orienter
vers le fichier ~/.forward :

# Copie locale
moi
# Copie distante

# Script de traitement du message
"| mon_script"
# Notificateur d'arrivée de courrier :-) (insupportable !)
"| cat > /dev/audio"

Enfin, il existe aussi le fichier ~/.procmailrc, pour définir des
règles d'action en fonction du message. Sinon, procmail peut aussi être
appelé à partir du .forward, si sendmail n'est pas configuré pour
prendre le fichier .procmailrc.


Merci


De rien, et bon courage.


--
David LE BOURGEOIS

Avatar
projlin
MERCI DAVID !!

publiquement MERCI !

c'est exactement ce que je cherchais...

maintenant je vais creuser...

je ne savais pas ou chercher en fait mais la avec
formail et avec le "| mon_script" du ~/.forward je devrais m'en sortir.




David LE BOURGEOIS wrote in message news:<3fba7a79$0$239$...

Bonjour,


Bonsoir.


J'ai un serveur sous linux avec sendmail qui tourne dessus.
Tout va biens...

J'ai besoins de renvoyer un message à la reception mais en modifiant
le message.

Imaginons que je reçoive un mail sur
Objet : bonjour toto
Corps du message : salut toto comment vas-tu ?

Je doit : Virer l'objet et mettre le corps a la place de l'objet ?
Et le re-expedier a titi?


Et ça donne quoi avec de l'uuencode dans le corps du message ?


Ré-expidition du mail sur
Objet : salut toto comment vas-tu ?
Corps du message : salut toto comment vas-tu ?

Une idée pour moi ???


Pour reformater les mails, j'utilise formail, qui entre autres, permet
d'extraire divers champs du message source (From:, Subject:, etc...) et
permet aussi de formatter une réponse avec ou sans le message original.
Pour plus d'infos sur toutes les possibilités, man formail.

Sinon, pour des traitements plus spécifiques, j'utilise aussi sed et
awk (passage de parametres à des robots mail : commande=ls, param1=/tmp,
param2=/var/log, ...).

Et, en ce qui concerne la ré-expédition de courrier, il faut s'orienter
vers le fichier ~/.forward :

# Copie locale
moi
# Copie distante

# Script de traitement du message
"| mon_script"
# Notificateur d'arrivée de courrier :-) (insupportable !)
"| cat > /dev/audio"

Enfin, il existe aussi le fichier ~/.procmailrc, pour définir des
règles d'action en fonction du message. Sinon, procmail peut aussi être
appelé à partir du .forward, si sendmail n'est pas configuré pour
prendre le fichier .procmailrc.


Merci


De rien, et bon courage.