Bonjour,
lors de l'exécution d'un script bash, j'ai besoin d'envoyer plusieurs mail différents pour la remontée d'erreurs et autres, pour l'envoi de ces mail, j'utilise un script perl (j'utilise ce script pour une raison spécifique).
Du coup, je doit exporter certaines variable du script bash vers le script perl (serveur smtp, sujet, destinataire, contenu du mail).
J'ai essayé d'utiliser export mais sans résultat:
script bash:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #!/bin/bash export MAIL_SERVER="server..." export MAIL_TO="mail..." export MAIL_SUBJECT="sujet...." export MAIL_CONTENT="contenu...." SENDMAIL="/var/tmp/smtpperl.pl" #action 1 ......... $SENDMAIL #envoi d'un mail #action2 ............ export MAIL_SERVER="server..." export MAIL_TO="nouveau mail..." export MAIL_SUBJECT="nouveau sujet...." export MAIL_CONTENT="nouveau contenu...." $SENDMAIL #envoi d'un autre mail #action3 ............ export MAIL_SERVER="server..." export MAIL_TO="nouveau mail..." export MAIL_SUBJECT="nouveau sujet...." export MAIL_CONTENT="nouveau contenu...." $SENDMAIL #envoi d'un autre mail
script perl (smtpperl.pl):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #!/usr/bin/perl -w use strict; use Net::SMTP; my $SERVER = '$ENV{"MAIL_SERVER"}'; my $MAILTO = '$ENV{"MAIL_TO"}' ; my $SUBJECT = '$ENV{"MAIL_SUBJECT"}'; my $CONTENT = '$ENV{"MAIL_CONTENT"}'; my $MAIL = new Net::SMTP $SERVER; $MAIL->mail($ENV{USER}); $MAIL->to($MAILTO); $MAIL->data; $MAIL->datasend("To: $MAILTO\n"); $MAIL->datasend("Subject: $SUBJECT\n"); $MAIL->datasend("\n"); $MAIL->datasend("$CONTENT.\n"); $MAIL->dataend; $MAIL->quit;
J'ai également essayé avec typeset -x MAIL_SERVER="....." etc, mais sans succès non plus.
Auriez-vous une idée pour m'aider?
Merci d'avance!
Partager