我正在使用java mail api下载java邮件附件。
我正在使用此链接教程
download mail attachment 但我的要求是,当用户阅读邮件时,它只显示附件的下载链接,并在点击当时下载的链接文件时。
谢谢
Manish
答案 0 :(得分:0)
我想你想要做以下事情:
检查,如果是多部分消息,则包含多个部分
1.1如果是这样,它有附件。然后,您应该检索第一个text / plain或text / html部分,它应该是文本本身。你只留下其他部分。但是在文本中,您可以在服务器上存储一些id或对消息的引用,即文本来自。请考虑以下代码。
文件夹folderInbox = store.getFolder(“INBOX”);
Message [] arrayMessages = folderInbox.getMessages();
for (int i = 0; i < arrayMessages.length; i++) { Message message = arrayMessages[i]; }
现在,类javax.mail.Message有一个方法getMessageNumber():: int。 如果您存储此消息编号和文件夹名称,在本例中为“INBOX”, 你有一个标识符,可以让你在服务器上找到消息 再次在以后再做一些事情,比如下载有的部分 尚未检索到。
所以(这里是伪代码)你基本上必须这样做。
var message_text = message.getFirstTextBodyPart();
var message_ident = (message.getFolderName(), message.getMessageNumber());
var message = (message_ident, message_text);
saveMessage(message);
showMessage(message);
1.2在其他情况下,您现在就下载整个邮件,因为没有任何部分可供以后检索。