【问题标题】:java mail download link for attachment附件的java邮件下载链接
【发布时间】:2014-02-25 09:35:08
【问题描述】:

我正在使用 java mail api 下载 java 邮件附件。

我正在使用这个链接教程

download mail attachment 但我的要求是,当用户阅读邮件时,它只显示附件的下载链接,并且当点击当时下载的链接文件时。

谢谢

马尼什

【问题讨论】:

  • 如此粗暴地检查邮件是否已被阅读
  • 呃,你要写一个IMAP客户端吗?

标签: java email email-attachments


【解决方案1】:

我认为你想做以下事情:

  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 在其他情况下,您现在下载整个消息,因为没有部分可供以后检索。

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2012-05-21
    相关资源
    最近更新 更多