Направих скрипт, който се свързва с 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