Pop3服务器中的LIST命令

时间:2013-12-04 19:45:50

标签: bash pop3 netcat

我必须在bash中执行pop3服务器,我的LIST命令有问题。 我可以连接到我的服务器,做一些命令但是当LIST呼叫我的客户端等待很长时间。他可能会等待另一个输入,但我看不出我做错了什么。

我关注RFC 1939

C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .

我的最低限度实施:

[...]
"STAT"*)
    echo "+OK 1 3"
    ;;
"LIST"*)
    echo "+OK 1 messages (3 octets)"    
    echo "1 3"
    echo "."
    ;;
[...]

Claws Mail Log:

* Account 'root@pop.kali': Connecting to POP3 server: localhost...
[18:02:42] POP3< +OK
[18:02:42] POP3> USER root
[18:02:42] POP3< +OK USER
[18:02:42] POP3> PASS ********
[18:02:42] POP3< +OK PASS
[18:02:42] POP3> STAT
[18:02:42] POP3< +OK 1 3
[18:02:42] POP3> UIDL
[18:02:42] POP3< -ERR 'UIDL
' n'est pas une commande valide
** command not supported
[18:02:42] POP3> LAST
[18:02:42] POP3< -ERR 'LAST
' n'est pas une commande valide
** command not supported
[18:02:42] POP3> LIST
[18:02:42] POP3< +OK 1 messages (3 octets)
// HERE WAIT A LONG LONG TIME //
** Session timed out. You may be able to recover by increasing the timeout value in Preferences/Other/Miscellaneous.

谢谢。

1 个答案:

答案 0 :(得分:3)

尝试确保您的回复的每一行都以CRLF结尾,而不仅仅是LF。可能只是期望多行响应的命令坚持看到.CRLF,而不仅仅是.LF

[...]
"STAT"*)
    printf "+OK 1 3\r\n"
    ;;
"LIST"*)
    printf "+OK 1 messages (3 octets)\r\n"
    printf "1 3\r\n"
    printf ".\r\n"
;;
[...]