#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...
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)...
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
-- 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
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 :
/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
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.
Hors ligne