Я сделал скрипт, который подключается к серверу imap, а затем отправляет разные сообщения, чтобы не получить первую почту [мне нужна только первая]. Когда я запускаю скрипт, я не получаю результатов, но когда я набираю ту же последнюю команду в терминале, я получаю результат.
Есть идеи, как это исправить?
МОЙ сценарий:
#!/usr/bin/expect
#!/bin/bash
set password 'ent'
spawn telnet host imap2
send "1 login picard enterprise\r"
send "2 list '' '*'\r"
expect "*"
send "3 EXAMINE INBOX\r"
send "4 fetch 1 all\r"
send "5 fetch 1 body[]\r"
Как я уже говорил, когда я набираю 5 fetch 1 body[]
в терминале, я получаю вывод, но скрипт ничего не показывает. Есть идеи?
A001 login ...
вместо1 login ...
), чтобы сценарий мог ожидать завершения команды. Не могли бы вы попробоватьsend "A005 FETCH 1 BODY[]\r\n"
expect "A005"
- person Serge Ballesta   schedule 14.01.2015except
, вы можете использовать пакетimap4
для Tcl (expect
скрипты — это просто код Tcl): docs.activestate.com/activetcl/8.4/tcllib/imap4/. Вам нужно будет установить Tcllib, если он еще не установлен, но в качестве бонуса вы также можете повысить безопасность, используя TLS (см. верхнюю часть страницы, на которую я дал ссылку). - person nwk   schedule 14.01.2015