Всем привет! Люди, помогите....У меня ОС SCO unix 6.0
Хочу написать скрипт, который бы, отправлял мне сообщения с unix сервера на мой Outlook...
Так вот, набрасал вот такой скрипт, но он что не хочет работать... Вероятнее всего, я expect - ом не правильно пользуюсь, т.к. прочитал небольщую статью по нему и там был кое какой пример, ну я исходя из примера решил себе скриптец навоять..., помогите написать правильно:#!/usr/gnu/bin/expect
set ff [open /err_mail/mess.txt r+]
set ttext [read $ff]
close $ffspawn telnet -r указываю_IP_сервера_Exchange 25
expect "%"
send "helo\r"
expect "%"
send "MAIL FROM: электронный адрес от кого\r"
expect "%"
send "RCPT TO: электронный адрес кому\r"
expect "%"
send "Date\r"
expect "%"
send "Subject: указываю тему сообщения\r"
expect "%"
send $ttext\r
expect "%"
send ".\r"
expect "%"
send "quit\r"
expect eofЯ пробовал просто отправить сообщение в ручную с этого сервера, все отправлется нормально!
ОТправлял так:
1) Соединился с по telnet c сервером Exchange:
#telnet -r 10.10.10.10 25
2) Управление передалось серверу Exchange и я последовательно ввожу такие команды (каждая команда с новой строки должна вводится):
helo
MAIL FROM: электронный адрес от кого
RCPT TO: электронный адрес кому
Date
Subject: указываю тему сообщения
Пишу текст своего сообщения
. // точка означает конец текстового сообщения
quit
После этого управление опять передается командной строке Unix и через пол минуты на мой Outlook прилетает это сообщение...Вообще, моя цель, написать скрипт, который таким способом, который я чуть выше описал, отправлял мне сообщение, причем брал текст сообщения из опрделенного файла из определенной дирректории...
Помогите, пожалуйста.
а зачем все так сложно? почему нельзя по старинке?cat /path/file | mail -s test user@domain.tld
P.S. Синтаксис на SCO может немного отличаться, но принцип тот же.
а если так
#!/usr/gnu/bin/expectset ff [open /err_mail/mess.txt r+]
set ttext [read $ff]
close $ffspawn telnet -r указываю_IP_сервера_Exchange 25
expect ""
send "helo server_namer\r"
expect ""
send "MAIL FROM: электронный адрес от кого\r"
expect ""
send "RCPT TO: электронный адрес кому\r"
expect ""
send "Data\r"
expect ""
send "Subject: указываю тему сообщения\r"
expect ""
send $ttext\r
expect ""
send ".\r"
expect ""
send "quit\r"
expect eof
>[оверквотинг удален]
> .
> // точка
> означает конец текстового сообщения
> quit
> После этого управление опять передается командной строке Unix и через пол минуты
> на мой Outlook прилетает это сообщение...
> Вообще, моя цель, написать скрипт, который таким способом, который я чуть выше
> описал, отправлял мне сообщение, причем брал текст сообщения из опрделенного файла
> из определенной дирректории...
> Помогите, пожалуйста.Большое спасибо, тем кто не остался равнодушен к моей проблеме :-)
Я разабрался сам... Мой скрипт полноценно рабочий, просто я сам реально тупанул :-) Я запускал его не так... Запускал его sh exch.sh, а надо было так: expect exch.sh и все заработало!!!!