Bonjour,
je voudrais envoyer des mèls par telnet depuis un script sh.
Pour cela, je construis un fichier texte avec les adresses et le message, et je le "pipe" dans telnet sur le port 25 de l'ESMTP de mon FAI, qui est orange.
Mais ce mèl n'est pas distribué à l'un de ses destinataires, qui est chez gmail, alors qu'il l'est correctement chez orange.
Voici le script :
#!/bin/sh
#
# Ceci est la construction du nom de l'ESMTP de mon FAI d'après mon adresse d'envoi : (sévérement maquillée)
from=D.V-A@orange.fr
domaine=`echo $from | cut -d '@' -f2`
mx_princ=`dig MX $domaine | grep -v "^;" | grep MX | awk {'print $5,$6'} | sort | head -n 1 | awk {'print $2'}`
#
# Ceci sont les adresses de réception : (sévérement maquillées aussi)
toO="D.V-A@orange.fr"
toG="D.V0A@gmail.com"
#
# Ceci est le message :
subject=blablablah
data=YOUPI
#
echo
(
sleep 1
echo "HELO" dva2tlse.ddns.net
sleep 1
echo "MAIL FROM:<$from>"
sleep 1
echo "RCPT TO:<$toO>"
sleep 1
echo NOOP
sleep 1
echo "RCPT TO:<$toG>"
sleep 1
echo NOOP
sleep 1
echo "data"
sleep 1
echo "subject:$subject"
sleep 1
echo "$data"
sleep 1
echo "Bye."
sleep 1
echo "."
sleep 1
echo "QUIT"
) | telnet $mx_princ 25
Voici ce que donne l'éxécution du script :
david@test:~/HHH/MEL$
Trying 80.12.242.9...
Connected to smtp-in.orange.fr.
Escape character is '^]'.
220 mwinf5c52 ME ESMTP server ready
250 mwinf5c52 hello [90.120.3.175], pleased to meet you
250 2.1.0 <D.V-A@orange.fr> sender ok
250 2.1.5 <D.V-A@orange.fr> recipient ok
250 2.0.0 OK
550 5.1.1 Adresse d au moins un destinataire invalide. Invalid recipient. OFR_416 [416]
250 2.0.0 OK
354 enter mail, end with "." on a line by itself
Connection closed by foreign host.
david@test:~/HHH/MEL$
Merci de m'aider à y comprendre quelque chose, puisque quand l'adresse
@orange est seule, ça marche et jamais autrement.
David
PS: il est bien évident que cette adresse existe et est accessible depuis m'importe quel courrielleur.