gpt4 book ai didi

java - 如何使用 Java JavaMail 创建 mbox?

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:27 25 4
gpt4 key购买 nike

如何使用IMAP协议(protocol)和JavaMail读取邮件收件箱,然后使用本地磁盘存储邮件。没有 mstor 的文档。我尝试这种方式,但似乎 MStorStore 只是读取本地 mbox,而不是根据在 connect() 函数中作为参数传递的外部服务器创建和更新它。我收到错误:文件夹 [收件箱] 不存在。

Session lSession = Session.getDefaultInstance(props);
MStorStore lStore = new MStorStore(lSession , new URLName("mstor:c:/some_path/" + _mailModel.account.login));
lStore.connect(_mailModel.account.imap, _mailModel.account.login, _mailModel.account.password);
Folder lInbox = lStore.getDefaultFolder().getFolder("Inbox");

问题是如何从 javax.mail.Store 创建 MBox,我可以使用 Mstor 读取和更新它。

最佳答案

我不知道我是否回答了正确的问题(或者根本回答了问题),但是,这是我在 Scala 程序中编写的一个方法,该方法采用 javamail 消息数组(通过 imap 获取),并使用 MStorStore 将它们写入项目根目录中名为“mbox”的目录中的新 mbox 文件。新文件的名称与“mboxName”参数中传递的名称相同。

def writeToMbox(messages: Array[Message], mboxName: String) {    
val mProps = System.getProperties
mProps.setProperty("mstor.mbox.metadataStrategy", "none")
val mSession = Session.getDefaultInstance(mProps)
val mStore = new MStorStore(mSession, new URLName("mstor:mbox"))
mStore.connect
val mFolder = mStore.getDefaultFolder
val localMbox = (new File("mbox", mboxName)).createNewFile
val mbox = mFolder.getFolder(mboxName)
mbox.open(Folder.READ_WRITE)
mbox.appendMessages(messages)
mbox.close(false)
mStore.close
}

关于java - 如何使用 Java JavaMail 创建 mbox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com