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: account@server.com";

echo "RCPT TO: rcptoacc@server.com";

echo "DATA";

echo "From: account@server.com";

echo "To: rcptoacc@server.com";

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?


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.