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

标签 java server pop3

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

 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();,但这可能不是必需的。

关于java - 通过 Thunderbird\Outlook 连接到本地主机 POP3 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43430983/

相关文章:

java - 尝试重新创建 java.util.ConcurrentModificationException

java - 如何使用 Rest Assured 验证 JSON 2D 数组?

java - 如何在 .properties 文件中引用另一个项目

java - Swing 中的 JTextArea 问题

c# - 如何使用pop3 c#阅读最新的电子邮件

c - 如何清理使用 read() 填充的缓冲区并继续读取同一缓冲区?

python - cPanel 中的 Cronjob 找不到 BeautifulSoup4 模块

javascript - Node.js 中的未知编码错误

java - BufferedReader read() 和 readLine() 在尝试从 POP3 服务器获取响应时都挂起

.Net POP3 客户端