通过 Thunderbird\Outlook 连接到本地 POP3 服务器
Connect to localhost POP3 server through Thunderbird\Outlook
正在尝试连接到本地主机(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();
发送给客户端的每个响应,但这可能没有必要。
正在尝试连接到本地主机(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();
发送给客户端的每个响应,但这可能没有必要。