[Perl]-Envoyer une variable par mail unix

[Résolu/Fermé]
Signaler
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
Bonjour,

je souhaiterais savoir s'il est possible d'invoquer le 'mail' unix en perl en passant une variable en corps de message et si oui, comment faire ?

mail -s "sujet" toto@titi.com $VARIABLE ???

Merci d'avance

9 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 545
Salut,

tu peux utiliser la fonction system (je n'ai pas testé ;-)
system("mail", "-s", "toto@titi.com", $VARIABLE);
--

lami20j
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
ça ne marche pas, il attend le ^D de fin de saisie, me demande les Cc et me prend $VARIABLE comme la liste des destinataires !
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 545
Salut,

et pourquoi n'utilises-tu MIME::Lite ?!
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
C'est pas un module présent en standard, je crois...

Je vais faire autrement du coup...

Un fichier temporaire que je redirige sur ma commande
Messages postés
18247
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
2 août 2021
5 334
hello

system("echo " $VARIABLE "| mail -s sujet toto@titi.com");
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
Ca le fait pas, ma variable contient des \n...
Messages postés
18247
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
2 août 2021
5 334
open(FH, "| mail -s sujet toto@titi.com");
print FH "$VARIABLE" ;
close(FH);
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
Cool, ça marche...:-)

Faut juste penser à déspécialiser le @

EDIT : très bonne astuce ceci-dit, en passant. Je ne savais pas qu'on pouvait feinter comme ça...
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 545
Salut,

il ne s'agit pas fenter ;-))

c'est tout simplement l'ouverture d'un handle de fichier vers une commande
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
ben voui, mais je ne savais pas qu'on pouvait le faire, c'est vachement balaise !
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 545 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

maintenant tu le sais
sache que ça marche dans les 2 sens

1. lire la sortie d'un programme

open (LIRE, "programme |")

2. écrire dans le programme (ton cas)

open (ECRIRE, "| programme")

tu remarques bien la position de pipe | (au début et à la fin)