ben*_*ser 23 java email imap jakarta-mail apache-commons
我必须用Java实现IMAP客户端.
使用Apache Commons Net库有哪些优势?它是否使实现更健壮,更灵活?
我如何处理返回值,它总是产生字符串.
例如:
public static void main(String[] args) throws Exception {
IMAPClient client = new IMAPClient();
client.connect(SERVER);
client.login(USERNAME, PASSWORD);
client.select("INBOX");
client.fetch("1", "body[header]");
}
Run Code Online (Sandbox Code Playgroud)
我们可以将输出定向到字符串
client.addProtocolCommandListener(new PrintCommandListener(System.out, true));
Run Code Online (Sandbox Code Playgroud)
但是,如何将文件夹列表作为文件夹实例而不是纯字符串输出?
Ser*_*sta 18
简短说明:这取决于您的实际要求.
如果您的客户端主要专注于发送和读取邮件,则JavaMail API是事实上的标准高级API,组合邮件,添加标头和/或附件将更加简单.
另一方面,如果您打算提供IMAP协议的所有可能性,则较低级别的Apache Commons Net库将允许更详细的操作,代价是更简单操作的样板代码.
只是为了完成这个答案,你不应该忘记Apache Commons Email,它根据项目的主页建立在Java Mail API之上,旨在简化它.它更接近JavaMail而不是Commons Net.
如果不知道自己想要做什么,就很难给出更准确的答案......