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: 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

Co ja robię źle?


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.