Java 通过Thunderbird\Outlook连接到本地主机POP3服务器

Java 通过Thunderbird\Outlook连接到本地主机POP3服务器,java,server,pop3,Java,Server,Pop3,正在尝试连接到本地主机上我自己的POP3服务器(1024端口)。其代码: server_socket = new ServerSocket(SBAP_PORT); Socket clntSocket = server_socket.accept(); public void run() { try { try { in = new BufferedReader( new InputStreamReade

正在尝试连接到本地主机上我自己的POP3服务器(1024端口)。其代码:

 server_socket = new ServerSocket(SBAP_PORT);
 Socket clntSocket = server_socket.accept();
 public void run() {
    try {
        try {
            in = new BufferedReader(
                    new InputStreamReader(socket.getInputStream()
                    ));
            out = new PrintWriter(socket.getOutputStream(), true);
            out.print("+OK\\r\\n");
            command = in.readLine();
            String result = handleInput(command);
            out.println(result);
        } finally {
            socket.close();
            state.close();
            System.out.println("client offline.");
        }
    } catch (Exception ignored) {
    }
}
telnet可以正常工作,但当我尝试使用Thunderbird时,只需获得超时(无法找到您的电子邮件帐户的设置)

在调试中,我看到,在连接时得到空字符串


我做错了什么?也许我应该在连接后立即向客户端发送一些东西?

我认为应该是
\r\n
而不是
\\r\\n
,另外,请尝试刷新通过
out.flush()发送给客户端的每个响应,但它可能不是必需的。

不使用out.print(“+OK\\r\\n”)或它都不起作用。服务器刚刚向我发送空字符串。我不知道,如果他想在实际接收命令之前从我这里发送一些东西……不,亲爱的,你应该把
out.print(“+OK\\r\\n”)
输出。打印(“+OK\r\n”),请再试一次@Xerocry