Problemy z wysyłaniem wiadomości e-mail za pomocą skryptu posix

1

Mam serwer smtp do wysyłania wiadomości e-mail za pośrednictwem Red Hat 7.2 Jeśli wpisuję polecenia na serwerze, poczta zostanie wysłana pomyślnie. Próbowałem jednak utworzyć skrypt, aby automatycznie wysyłać e-maile, ale to się nie udaje. Mój skrypt:

#!/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

Co ja robię źle?

The-0m3n
źródło
Czy na serwerze widzisz jakieś dowody połączenia i / lub błędów za pośrednictwem serwera? Możliwe, że wszystko to zostanie wysłane zbyt szybko i połączenie telnet zostanie zakończone, zanim serwer zakończy wysyłanie banera z powrotem. W końcu SMTP jest dialogiem z serwerem, a nie monologiem
Eric Renouf,
1
Poza tym bash nie jest POSIX, echo -ewięc nie jest to skrypt POSIX
Eric Renouf,
Zobacz tę odpowiedź, aby dowiedzieć się, jak to zrobić w czystym stylu (choć zdecydowanie nie POSIX)
Eric Renouf,
Dzięki Eric. Serwer rzuca: Próbuję xxxx .. Połączony ze znakiem ucieczki xxxx to „^]”. Połączenie zostało zamknięte przez zdalnego hosta. Kładę sen na każdej linii, ale wynik jest taki sam. Ten skrypt działa w systemie HP-UX
The-0m3n
Czy masz też przed pierwszą linią i czy śpi wystarczająco długo? To krucha droga, ale kiedy właśnie wypróbowałem skrypt w stanie niezmienionym na serwerze pocztowym, skarżyłem się na rozłączenie klienta po CONNECT, więc nigdy nie widziałem rozmowy
Eric Renouf,