Script shell telnet comment passer <CR>.<LF> smtp
Gnot65
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Gnot65 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Gnot65 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un script shell de sauvegarde sur plusieurs Mac, qui envoi un mail (en telnet) en cas de réussite ou d'erreur.
Jusque ici tout va bien, ça tourne sur un compte orange authentifié.
Cependant je dois changer d'orange à ovh et la fin du code smtp en telnet n'est pas simplement :
354 enter mail, end with "." on a line by itself
mais :
354 End data with <CR><LF>.<CR><LF>
Et là ça se complique pour moi, je n'arrive pas à faire ces fichus <CR><LF>
Pourriez-vous m'aider à trouver la bonne syntaxe svp ?
Voici un extrait de mon code simplifié pour compréhension :
#/bin/sh
sujetok="BLABLA"
function okmail
{
sleep 5
echo EHLO ovh
sleep 5
echo AUTH LOGIN
sleep 5
echo xyzabcde (mon identifiant en base64)
sleep 5
echo abcdexyz (mon pass en base64)
sleep 5
echo MAIL FROM:sender@mondomaine.fr
sleep 2
echo RCPT TO:notification@mondomaine.fr
sleep 2
echo DATA
echo Subject:$sujetok
echo -e "mon message:\n"
echo -----> là je dois mettre un CRLF
echo -e .
echo -----> là je dois mettre un CRLF
sleep 5
echo QUIT
}
okmail|telnet ssl0.ovh.net 587
Je précise que ce code fonctionne sous tous Mac avec Orange authentifié
et en ligne de commande terminal avec orange et ovh
Merci pour votre aide
J'ai un script shell de sauvegarde sur plusieurs Mac, qui envoi un mail (en telnet) en cas de réussite ou d'erreur.
Jusque ici tout va bien, ça tourne sur un compte orange authentifié.
Cependant je dois changer d'orange à ovh et la fin du code smtp en telnet n'est pas simplement :
354 enter mail, end with "." on a line by itself
mais :
354 End data with <CR><LF>.<CR><LF>
Et là ça se complique pour moi, je n'arrive pas à faire ces fichus <CR><LF>
Pourriez-vous m'aider à trouver la bonne syntaxe svp ?
Voici un extrait de mon code simplifié pour compréhension :
#/bin/sh
sujetok="BLABLA"
function okmail
{
sleep 5
echo EHLO ovh
sleep 5
echo AUTH LOGIN
sleep 5
echo xyzabcde (mon identifiant en base64)
sleep 5
echo abcdexyz (mon pass en base64)
sleep 5
echo MAIL FROM:sender@mondomaine.fr
sleep 2
echo RCPT TO:notification@mondomaine.fr
sleep 2
echo DATA
echo Subject:$sujetok
echo -e "mon message:\n"
echo -----> là je dois mettre un CRLF
echo -e .
echo -----> là je dois mettre un CRLF
sleep 5
echo QUIT
}
okmail|telnet ssl0.ovh.net 587
Je précise que ce code fonctionne sous tous Mac avec Orange authentifié
et en ligne de commande terminal avec orange et ovh
Merci pour votre aide
6 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
@zipe31 et @dubcek
testé sans succès, merci de votre aide
J'ai un bad syntax, le mail part dans la queue mais n'arrive jamais
Le <CR>.<LF> n'est pas pris en compte.
telnet dans mon script shell prendrait il en compte la commande printf
et si oui, quelle serait la syntaxe, pour contourner le problème?
Merci
@zipe31 et @dubcek
testé sans succès, merci de votre aide
J'ai un bad syntax, le mail part dans la queue mais n'arrive jamais
Le <CR>.<LF> n'est pas pris en compte.
telnet dans mon script shell prendrait il en compte la commande printf
et si oui, quelle serait la syntaxe, pour contourner le problème?
Merci
Bon, ça commence à me prendre la tête !
Je reprend la base, j'envoie les commandes manuellement avec un terminal en Telnet
Surprise !!! je ne reçois plus le mail !
j'avais testé hier bien sûr, c'était ok, plus maintenant (!?)
Du coup, dans tous mes tests effectués, certains étaient peut être ok.
Je suis allé voir mon "Manager OVH" au cas ou avec tous mes tests
mon adresse sender se serait fait blacklistée : non
Bon j'arrête là !
Pour info, voici ma sortie terminal , pas d'erreurs, mais pas de réception non plus, il me semble que je devrais avoir une sorte de Mail accepted for delivery (en tous cas j'ai ça avec Orange et j'ai eu quelque chose comme ça hier avec ovh)
Merci à tous
MacBook:~ eric$ telnet ssl0.ovh.net 587
Trying 193.70.18.144...
Connected to ssl0.ovh.net.
Escape character is '^]'.
220-ssl0.ovh.net player714
EHLO 220 ssl0.ovh.net player714
EHLO ovh
250-player714.ha.ovh.net
250-SIZE 104857600
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250 8BITMIME
AUTH LOGIN
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Authentication successful
MAIL FROM:sender@*******.fr
250 2.1.0 Ok
RCPT TO:notification@******.fr
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
SUBJECT:"toto"
dfgsdfgsdfgsdfgsd
.
250 2.0.0 Ok: queued as 4DEE23C0096
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
Je reprend la base, j'envoie les commandes manuellement avec un terminal en Telnet
Surprise !!! je ne reçois plus le mail !
j'avais testé hier bien sûr, c'était ok, plus maintenant (!?)
Du coup, dans tous mes tests effectués, certains étaient peut être ok.
Je suis allé voir mon "Manager OVH" au cas ou avec tous mes tests
mon adresse sender se serait fait blacklistée : non
Bon j'arrête là !
Pour info, voici ma sortie terminal , pas d'erreurs, mais pas de réception non plus, il me semble que je devrais avoir une sorte de Mail accepted for delivery (en tous cas j'ai ça avec Orange et j'ai eu quelque chose comme ça hier avec ovh)
Merci à tous
MacBook:~ eric$ telnet ssl0.ovh.net 587
Trying 193.70.18.144...
Connected to ssl0.ovh.net.
Escape character is '^]'.
220-ssl0.ovh.net player714
EHLO 220 ssl0.ovh.net player714
EHLO ovh
250-player714.ha.ovh.net
250-SIZE 104857600
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250 8BITMIME
AUTH LOGIN
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Authentication successful
MAIL FROM:sender@*******.fr
250 2.1.0 Ok
RCPT TO:notification@******.fr
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
SUBJECT:"toto"
dfgsdfgsdfgsdfgsd
.
250 2.0.0 Ok: queued as 4DEE23C0096
QUIT
221 2.0.0 Bye
Connection closed by foreign host.