Problème d'envoi d'email via le script posix

1

J'ai un serveur smtp pour envoyer des emails via Red Hat 7.2 Si je tape les commandes sur le serveur, le courrier est envoyé avec succès. Cependant, j'ai essayé de créer un script pour envoyer des mails automatiquement mais cela a échoué. Mon script:

#!/bin/bash

(
echo "HELO server.com";

echo "MAIL FROM: [email protected]";

echo "RCPT TO: [email protected]";

echo "DATA";

echo "From: [email protected]";

echo "To: [email protected]";

echo "Subject: Test mail";

echo -e "\n";

echo "Ok.";

echo "Bye";

echo -e "\n\n.";

echo "QUIT";

) | /usr/bin/telnet smtp_server 25

Qu'est-ce que je fais mal?

The-0m3n
la source
Voyez-vous des preuves de la connexion et / ou des erreurs via le serveur? Il se pourrait que tout cela soit envoyé trop rapidement et que la connexion telnet soit terminée avant que le serveur ait fini de renvoyer sa bannière. Après tout, SMTP est un dialogue avec le serveur, pas un monologue
Eric Renouf
1
De plus, bash n’est pas POSIX, ni echo -e donc ce n'est pas un script POSIX
Eric Renouf
Voir cette réponse pour un moyen de le faire en pur bash (certainement pas POSIX cependant)
Eric Renouf
Merci Eric. Le serveur lance: Trying x.x.x.x ... Connecté à x.x.x.x. Le caractère d'échappement est '^]'. Connexion fermée par hôte étranger. Je mets un sommeil sur chaque ligne mais le résultat est le même. Ce script fonctionne sur HP-UX
The-0m3n
Est-ce que vous en avez un avant la première ligne également, et les nuits sont-elles suffisamment longues? C’est une solution fragile, mais lorsque je viens d’essayer le script tel quel contre un serveur de messagerie, je me suis plaint de la déconnexion du client après la connexion à CONNECT. Il n’a donc jamais vu la conversation.
Eric Renouf