【发布时间】:2014-04-15 01:09:01
【问题描述】:
我尝试使用 apache POP3 邮件客户端从 POP3 邮件服务器接收一些邮件。
我使用 BufferedReader 从我的 POP3 邮件服务器 (retreiveMessage(id)) 获取消息。我有一些邮件很长,我用下面的循环阅读它们。我的行被截断为以等号 (=) 结尾的几行,每行包含 76 个字符加上 =。
import org.apache.commons.net.pop3.POP3Client;
import org.apache.commons.net.pop3.POP3MessageInfo;
...
POP3Client pop = new POP3Client();
pop.setSocketFactory(SSLSocketFactory.getDefault());
pop.setDefaultTimeout(60000);
pop.connect(MAIL_SEREVR, PORT);
String username = USERNAME;
String password = PASSWORD;
isVerified = pop.login(username, password);
POP3MessageInfo[] messages = pop.listMessages();
for (POP3MessageInfo msginfo : messages) {
Date timestamp = new Date();
BufferedReader reader = (BufferedReader) pop
.retrieveMessage(msginfo.number);
if (reader == null) {
System.err.println("Could not retrieve message header.");
pop.disconnect();
System.exit(1);
}
try {
printMessageInfo(reader, msginfo.number, timestamp);
} catch (Exception e) {
e.printStackTrace();
}
pop.deleteMessage(msginfo.number);
}
pop.logout();
pop.disconnect();
所以,我打印了消息,由于一个单词太长,它被截断如下:
this is a short line, it is OK
andThisIsALongLineWithMoreThan76CharactersButThisIsEmpiricalIJustSeeThatThe=
LineIsTruncatedAtThe76thCHAR
这是正常行为吗?有人可以帮我吗?
谢谢
【问题讨论】:
-
您正在接收 Base-64 编码的内容。我从未见过 JavaMail 表现得那样。你真的在用吗?
标签: jakarta-mail pop3