Похоже, вы нашли проблему. Вы должны заключать в кавычки только строку, переданную в echo
, а не всю команду целиком :
output=$("echo foo")
Вместо этого должно быть:
output=$(echo "foo")
Если вы хотите, чтобы переменная output
содержала буквальную строку echo foo
, вы должны просто установить ее как:
output='echo foo'
, но мог бы и:
output=$(echo 'echo foo')
Вы можете подключиться к рассматриваемой машине через порт 25 с помощью nc
и вручную говорить по SMTP.
Википедия приводит пример разговора . Если вы подключаетесь по сети, вам также может потребоваться аутентификация.
Обычно, если вы правильно настроили STARTTLS и это необходимо, сервер откажется принимать сообщение электронной почты (, т.е. MAIL FROM
завершится ошибкой ), если клиент не завершил согласование TLS и рукопожатие.
Обратите внимание, что MTA в целом также позволяют настраивать дополнительное шифрование транспорта. (STARTTLS допускается, но не требуется ).