Проблемы с отправкой электронной почты через скрипт posix
306
The-0m3n
У меня есть SMTP-сервер для отправки электронной почты через Red Hat 7.2. Если я наберу команды на сервере, почта будет отправлена успешно. Тем не менее, я попытался создать сценарий для автоматической отправки почты, но это не удалось. Мой сценарий:
#!/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
Что я делаю неправильно?
На сервере вы видите какие-либо доказательства соединения и / или ошибок через сервер? Может случиться так, что все это будет отправлено слишком быстро, и соединение telnet завершится до того, как сервер завершит отправку своего баннера обратно. Ведь SMTP - это диалог с сервером, а не монолог
Eric Renouf 7 лет назад
0
Кроме того, bash - это не POSIX и не `echo -e`, так что это не скрипт POSIX
Eric Renouf 7 лет назад
1
См. [Этот ответ] (http://stackoverflow.com/a/10001357/4687135), чтобы узнать, как сделать это в чистом виде (хотя определенно не в POSIX)
Eric Renouf 7 лет назад
0
Спасибо, Эрик. Сервер выдает: Попытка xxxx .. Подключенный к xxxx Escape-символ '^]. Соединение прервано внешним хостом. Я помещаю сон в каждую строку, но результат тот же. Этот скрипт работает на HP-UX
The-0m3n 7 лет назад
0
Есть ли у вас один перед первой строкой, и достаточно ли спит? Это хрупкий путь, но когда я только что попробовал скрипт как есть на почтовом сервере, я пожаловался на то, что клиент отключился после CONNECT, поэтому он никогда не видел диалог
Eric Renouf 7 лет назад
0
С ведущими `sleep` и` sleep` после каждой строки, которая является частью разговора, это сработало для меня, хотя я все еще думаю, что вам будет лучше использовать инструмент для разговора по SMTP или сделать это так, как в связанном ответе
Eric Renouf 7 лет назад
0
Хорошо, я постараюсь сделать это как связанный ответ. Кстати, скрипт работал, добавляя сон после строки QUIT: `echo" QUIT "; сон 1; ) | / usr / bin / telnet` `Спасибо за совет. DASM
The-0m3n 7 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Как я могу "инвертировать" структуру каталогов?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux