Script shell telnet comment passer <CR>.<LF> smtp

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

6 réponses

  1. Modérateur
    Bonjour,

    Sans certitude...; as tu essayé \r ou \r\n
    1
    1. Merci,

      Oui , avec -e, puis sans -e entre ' ' et " " ben j'ai pas trouvé

      sans succès
      0
      1. Contributeur
        Salut,

        T'as essayé en ASCII ?
        echo -e '\x0d'
        echo "."
        echo -e '\x0a'


        0
        1. hello
          et avec ?
          echo -en "\r\n"
          0
          1. 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
            0
            1. la même :
              printf '\r\n.\r\n'
              0
            2. Merci, j'essaye
              0
            3. Toujours pas. Grrr...
              0
          2. 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.
            0