【问题标题】:java mail download link for attachment附件的java邮件下载链接
【发布时间】:2014-02-25 09:35:08
【问题描述】:
我正在使用 java mail api 下载 java 邮件附件。
我正在使用这个链接教程
download mail attachment
但我的要求是,当用户阅读邮件时,它只显示附件的下载链接,并且当点击当时下载的链接文件时。
谢谢
马尼什
【问题讨论】:
标签:
java
email
email-attachments
【解决方案1】:
我认为你想做以下事情:
-
检查它是否是多部分消息并且由多个部分组成
1.1 如果是,它有附件。然后,您应该检索第一个 text/plain 或 text/html 部分,它应该是文本本身。你不理会其他部分。但是沿着文本,您存储了一些 id 或对服务器上消息的引用,这些文本是从中获取的。考虑以下代码。
文件夹文件夹收件箱 = store.getFolder("收件箱");
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 在其他情况下,您现在下载整个消息,因为没有部分可供以后检索。