Envoyer un mail (sendmail) via une autre machine

Envoyer un mail (sendmail) via une autre machine - Shell/Batch - Programmation

Marsh Posté le 21-02-2006 à 16:47:29    

Bonjour  :hello: ,
 
Je decouvre depuis quelques jours les scripts (#!/bin/sh) :pt1cable:  
Je souhaite envoyer un mail à partir d'une machine A via une machine B.
 
Je m'explique :
j'ai developpé sur une machine A, un petit script qui permet d'envoyer (normalement) un mail lors d'un test KO.
On m'a proposé d'utiliser sendmail (pourquoi pas ?).  
Seulement le daemon sendmail tourne sur une machine B.  
Si je fais à la main un "telnet machineB 25" + commandes [...], j'arrive à envoyer un mail.
 
Seulement je souhaiterais que tout cela se fasse de manière automatique dans mon script.  
Test KO ==> envoie d'un mail
Auriez-vous une solution ou une piste  :??: ?
 
N'hésitez-pas à faire des suggestions...
 
Merci !!!  :)  
 

Reply

Marsh Posté le 21-02-2006 à 16:47:29   

Reply

Marsh Posté le 21-02-2006 à 17:02:04    

Winners87 a écrit :

Bonjour  :hello: ,
 
Je decouvre depuis quelques jours les scripts (#!/bin/sh) :pt1cable:  
Je souhaite envoyer un mail à partir d'une machine A via une machine B.
 
Je m'explique :
j'ai developpé sur une machine A, un petit script qui permet d'envoyer (normalement) un mail lors d'un test KO.
On m'a proposé d'utiliser sendmail (pourquoi pas ?).  
Seulement le daemon sendmail tourne sur une machine B.  
Si je fais à la main un "telnet machineB 25" + commandes [...], j'arrive à envoyer un mail.
 
Seulement je souhaiterais que tout cela se fasse de manière automatique dans mon script.  
Test KO ==> envoie d'un mail
Auriez-vous une solution ou une piste  :??: ?
 
N'hésitez-pas à faire des suggestions...
 
Merci !!!  :)


 
rsh machineB "commande qui sera exécutée sur la machine B"


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 21-02-2006 à 17:13:51    

Merci pour ta réponse. Le problème est que l'accès est impossible par rsh sur la machineB
 
De plus est-il possible en 1 ligne de commande d'envoyer un mail avec sendmail ?

Reply

Marsh Posté le 21-02-2006 à 17:21:55    

Winners87 a écrit :

Merci pour ta réponse. Le problème est que l'accès est impossible par rsh sur la machineB?


Soit la machineA n'a pas la commande "rsh", soit la machineB n'a pas activé le serveur rshd, soit l'utilisateur qui lance le rsh n'a pas intégré sur la machine B le petit fichier ".rhosts" permettant à la machine A de venir exécuter des commandes rsh.
 

Winners87 a écrit :

De plus est-il possible en 1 ligne de commande d'envoyer un mail avec sendmail ?


Pour savoir, il te faut aller sur la machine B et tenter de taper un truc bateau style "echo bonjour |mail toto" et voir si le mail arrive bien chez toto. Ensuite, dès que le pb de rsh sera résolu, il te suffira de taper

rsh machineB "echo bonjour |mail toto"

. Mais si ça marche déjà avec ton "telnet machineB 25", qu'est-ce qui t'empêche d'intégrer ce "telnet" dans ton script ??? Ou mieux, qu'est-ce qui t'empêche de taper depuis la machine A "echo bonjour |mail toto@machineB" ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 21-02-2006 à 17:33:32    

Je viens de faire le test que tu m'as indiqué "echo bonjour | mail XXX" sur la machineB. Je n'ai reçu aucun mail... :-(
Je ne maitrise pas l'infrastructure/les droits mais le rsh ne sera pas autorisé d'après ce que l'on m'a signalé.
 
Sinon concernant ta dernière remarque : bien entendu, je peux integrer le telnet dans mon script mais comment à partir d'un script sur la machineA, tu peux envoyer automatiquement (sans intervention humaine) un mail via la machineB.
Si tu as un petit exemple je suis preneur !
 
Merci encore

Reply

Marsh Posté le 21-02-2006 à 18:11:01    

Winners87 a écrit :

Je ne maitrise pas l'infrastructure/les droits mais le rsh ne sera pas autorisé d'après ce que l'on m'a signalé.


Bon, alors on oublie.
 

Winners87 a écrit :

Sinon concernant ta dernière remarque : bien entendu, je peux integrer le telnet dans mon script mais comment à partir d'un script sur la machineA, tu peux envoyer automatiquement (sans intervention humaine) un mail via la machineB.


Si c'était possible aussi facilement, alors n'importe qui pourrait envoyer des mails anonymes et intraçables à partir de serveurs comme wanadoo ou caramail. Tu ne peux le faire que si tu as déjà un accès sur la machine B.
Mais le telnet que tu fais, tu le fais bien de la machine A non ? Alors si tu l'intègres dans le script, où est le problème ???

Winners87 a écrit :

Si tu as un petit exemple je suis preneur !


Donne-moi plutôt plus en détail comment tu fais ce fameux telnet (ce que tu tapes, ce que ça te répond) parce qu'il y a un truc que je n'ai pas compris dans ta démarche...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 22-02-2006 à 09:55:25    

je fais un "telnet machineB 25". Je suis donc sur la machineB.  
 
Ensuite je tape les commandes:
HELO X
[...]
MAIL FROM: Y  
[...]
RECPT TO: Z
etc...
 
Merci pour ton aide !

Reply

Marsh Posté le 22-02-2006 à 11:33:22    

J'ai essayé aussi de faire :
#!/bin/bash
#
telnet 10.25.4.23 25 << EOF
HELO X
mail from: toto@mail.com
rcpt to: titi@mail.com
data
This is a test from an automatic script
.
EOF
 
Mais cela ne fonctionne pas !!!
Je continue à investiguer...

Reply

Marsh Posté le 22-02-2006 à 13:57:57    

Winners87 a écrit :

J'ai essayé aussi de faire :
#!/bin/bash
#
telnet 10.25.4.23 25 << EOF
HELO X
mail from: toto@mail.com
rcpt to: titi@mail.com
data
This is a test from an automatic script
.
EOF
 
Mais cela ne fonctionne pas !!!
Je continue à investiguer...


 
Je pensais que tu ne connaissais pas la double redirection en entrée... mais c'est pas ça.
En plus tu respectes parfaitement les ordres (sauf que moi je les écris en majuscule).
Tout petit détail, certains serveurs de mails n'aiment pas qu'on passe par eux pour renvoyer sur un autre serveur... et c'est ce que tu cherches à faire en tapant "RCPT TO: titi@mail.com".
 
Essaye de rediriger les messages vers un fichier pour les analyser...

telnet 10.25.4.23 25 << EOF 1>res 2>err
...
EOF


 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 22-02-2006 à 14:11:47    

Ca ne marche pas. Je pense que je vais me diriger vers une autre solution...
 
Je te joins tout de meme mon fichier de log (zelog) mais il nous apprend pas grand chose...
::::::::::::::
zelog
::::::::::::::
Trying 10.25.4.23...
Connected to berlioz.hosted-services.gemplus.com (10.25.4.23).
Escape character is '^]'.
::::::::::::::
zelog.err
::::::::::::::
Connection closed by foreign host.
 
Merci tout de meme pour ton aide
 
ps: Je vais passer par un sendtrap... Du moins je vais essayer ;-)

Reply

Marsh Posté le 22-02-2006 à 14:11:47   

Reply

Marsh Posté le 22-02-2006 à 21:47:14    

Winners87 a écrit :

Ca ne marche pas. Je pense que je vais me diriger vers une autre solution...


Là c'est dommage, je suis en congés jusqu'au 28. Sinon j'aurais pu tester au bureau.
Mais si tu veux je regarde en rentrant...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 23-02-2006 à 09:52:41    

Je veux bien... merci et profites bien !

Reply

Marsh Posté le 23-02-2006 à 12:49:18    

Winners87 a écrit :

Ca ne marche pas. Je pense que je vais me diriger vers une autre solution...
 
Je te joins tout de meme mon fichier de log (zelog) mais il nous apprend pas grand chose...
::::::::::::::
zelog
::::::::::::::
Trying 10.25.4.23...
Connected to berlioz.hosted-services.gemplus.com (10.25.4.23).
Escape character is '^]'.
::::::::::::::
zelog.err
::::::::::::::
Connection closed by foreign host.
 


 
J'aimerais une précision...
Tu tapes tout ton telnet tel que tu me le montres (mêmes noms de "MAIL FROM" et "RCPT TO", même IP) et ça marche. Mais tu le mets dans un script et ça ne marche plus ? C'est bien ça ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 23-02-2006 à 14:00:11    

Je resume :
1- Je me connect en telnet (je me retrouve donc sur la machineB)
puis je tape les commandes
Résultat:Le mail est envoyé
 
2- si je mets tout (mm le telnet) dans un script que j'execute cela ne fonctionne pas...
 
Mystère... ;-/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed