gpt4 book ai didi

java - 通过 mime4j 解析电子邮件附件

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:30 25 4
gpt4 key购买 nike

我正在使用一个小型 java smtp 库(http://code.google.com/p/subethasmtp/),因此我需要在单独的组件(即正文、附件等)中解析传入的电子邮件。

我正在尝试使用 mime4j ,但文档表明 mime4j 只能提供事件通知或 token 通知,不能提供其他任何东西。为了剥离正文和附件等,我必须在事件处理程序中使用我自己的自定义逻辑。我的观察是否正确?

如果是,那么我如何使用 mime4j 来满足我的要求。请提出建议。

我非常需要一种方法,它接受 smtp 数据流并以 java 中完全解析的形式返回一组附件引用或流。请帮忙。

提前致谢

阿希什夏尔马

最佳答案

Mime4j 绝对可以满足您的需求。创建 org.apache.james.mime4j.message.SimpleContentHandler 的子类,并实现 bodyDecoded 方法。然后将这个子类传递给 MimeStreamParser 实例。您会看到 bodyDecoded 对每个正文或附件调用一次,它为您提供的流包含已执行 Base64 或 Quoted-Printable 解码的数据。

如果您一般不喜欢基于事件的 API,则可以尝试通过 org.apache.james.mime4j.message.Message 类公开的更类似于 DOM 的功能。您可以调用 Message.getBody(),然后查看它返回给您的是 Multipart、TextBody、BinaryBody 等的实例。如果是 Multipart,那么您可以调用 Multipart.getBodyParts 以递归到子部分。

关于java - 通过 mime4j 解析电子邮件附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675824/

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