Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2010, à 12:25

omorin

Envoyer des messages dans un script

Bonjour,

Je cherchais un moyen simple, sans rien installer, pour envoyer des messages dans un script, par exemple en cas d'erreur.

J'ai trouvé sur les forum des exemples avec la commande nc.

Exemple dans un fichier de commande glisser : nc smtp.domaine.org 25 < test.txt

Le fichier test.txt contient :

helo poste-expediteur.domaine.org
mail from:<nom-expediteur@domaine.org>
rcpt to:<nom-destinataire@domaine-destinataire.org>
data
Subject: Test de mail
Le contenu du mail...
etc...
.
quit

Et ça marche... tongue

on peut rajouter -i 1 juste après nc pour mettre une pause d'une seconde entre chaque commande passée au serveur SMTP si il est lent.

Par contre, mon serveur interne exchange 2003, refuse cette manip (mais l'accepte avec telnet)... sad
Si un quelqu'un a un serveur exchange 2003 sous la main et peut me dire...

J'ai essayé le script eomer212 trouvé ici http://forum.ubuntu-fr.org/viewtopic.php?id=138840 et ça marche avec exchange... allez comprendre !

Dernière modification par omorin (Le 20/09/2010, à 12:36)

Hors ligne

#2 Le 20/09/2010, à 22:18

nesthib

Re : Envoyer des messages dans un script

du coup si tu ne veux pas utiliser de fichier externe tu peux même faire un Here Tag :

nc smtp.domaine.org 25 <<STOP
helo poste-expediteur.domaine.org
mail from:<nom-expediteur@domaine.org>
rcpt to:<nom-destinataire@domaine-destinataire.org>
data
Subject: Test de mail
Le contenu du mail...
etc...
.
quit
STOP

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 20/09/2010, à 23:15

ehmicky

Re : Envoyer des messages dans un script

nc smtp.domaine.org 25 <<'STOP'
...
STOP

Si l'on éviter d'avoir des surprises, du genre s'il y a des $ dans le Here Document ^^


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#4 Le 20/09/2010, à 23:22

nesthib

Re : Envoyer des messages dans un script

oui tout à fait wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 21/09/2010, à 21:07

Totor

Re : Envoyer des messages dans un script

Bonsoir,

Pourquoi utiliser nc ?

cat > /dev/tcp/smtp.domaine.org/25 << 'EOF'
helo poste-expediteur.domaine.org
mail from:<nom-expediteur@domaine.org>
rcpt to:<nom-destinataire@domaine-destinataire.org>
data
Subject: Test de mail
Le contenu du mail...
etc...
.
quit
EOF

tongue


-- Lucid Lynx --

Hors ligne

#6 Le 21/09/2010, à 21:12

nesthib

Re : Envoyer des messages dans un script

héhéhé sacré Totor ^^ toujours le mot pour rire tongue


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#7 Le 22/09/2010, à 08:51

omorin

Re : Envoyer des messages dans un script

Bonjour totor,

Merci pour ton script mais, mon serveur Ubuntu 8.04 me répond :

./test.sh: line 1: /dev/tcp/smtp.mondomaine.org/25: Aucun fichier ou dossier de ce type

hmm

Hors ligne

#8 Le 22/09/2010, à 09:03

nesthib

Re : Envoyer des messages dans un script

en fait ce pseudofichier n'existe pas réellement il est interprété par bash dans les cas où une option a été activée lors de sa compilation (d'où ma réponse à Totor)

tu peux tester le bout de code indiqué dans cette page

exec 3<>/dev/tcp/www.google.com/80
echo -e "GET / HTTP/1.1\n\n">&3
cat <&3

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#9 Le 22/09/2010, à 09:06

Totor

Re : Envoyer des messages dans un script

Bonjour,

Consulte le man de ton bash (man bash) et fait une recherche sur tcp (tape / puis tcp puis [ENTER])
Tu devrais tomber sur ceci :

man bash a écrit :

/dev/tcp/host/port
    If host is a valid hostname or Internet address, and port is an integer
port number or service name, Bash attempts to open a TCP connection to the
corresponding socket.

Si ce n'est pas le cas, ta version de bash ne le permet pas.


-- Lucid Lynx --

Hors ligne

#10 Le 22/09/2010, à 09:07

Totor

Re : Envoyer des messages dans un script

nesthib a écrit :

en fait ce pseudofichier n'existe pas réellement il est interprété par bash dans les cas où une option a été activée lors de sa compilation (d'où ma réponse à Totor)

Effectivement, il faut que bash ait été compilé avec l'option --enable-net-redirections


-- Lucid Lynx --

Hors ligne

#11 Le 22/09/2010, à 09:59

omorin

Re : Envoyer des messages dans un script

Merci de vos réponses rapides.

Effectivement le "man" me répond :

       NOTE: Bash, as packaged for Debian, does not support using the /dev/tcp
       and /dev/udp files.

sad

Hors ligne