小编Psy*_*uin的帖子

在java中解析Multipart /与Multipart/Alternative主体混合

我从客户端收到电子邮件,他们在multipart/mixed消息中嵌套了multipart/alternative消息.当我得到消息的正文时,它只返回multipart/alternative级别,而我真正想要的是包含在multipart/alternative中的text/html部分.

我查看了javax.mail的javadocs,我找不到一个简单的方法来获取bodypart的主体,它本身是一个multipart或跳过第一个multipart/mixed部分并进入multipart/alternative body来读取text/html和text/plain pieces.

电子邮件结构如下所示:

...
Content-Type: multipart/mixed; 
    boundary="----=_Part_19487_1145362154.1418138792683"

------=_Part_19487_1145362154.1418138792683
Content-Type: multipart/alternative; 
    boundary="----=_Part_19486_1391901275.1418138792683"

------=_Part_19486_1391901275.1418138792683
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=ISO-8859-1

...

------=_Part_19486_1391901275.1418138792683
Content-Transfer-Encoding: 7bit
Content-Type: text/html; charset=ISO-8859-1

...

------=_Part_19486_1391901275.1418138792683--

------=_Part_19487_1145362154.1418138792683--
Run Code Online (Sandbox Code Playgroud)

这是用于解析电子邮件的代码的大纲:

Message [] found = fldr.search(searchCondition);           
for (int i = 0; i < found.length; i++) {
    Message m = found[i];
    Object o = m.getContent();
    if (o instanceof Multipart) {
        log.info("**This is a Multipart Message.  ");
        Multipart mp = (Multipart)o;
        log.info("The Multipart message has " + mp.getCount() + " parts.");
        for (int …
Run Code Online (Sandbox Code Playgroud)

java email multipart jakarta-mail javax.mail

7
推荐指数
1
解决办法
5421
查看次数

如何在 Perl 中仅将每个单词的第一个字符设为大写

我有一个包含所有大写单词的字符串,我只想将每个单词的第一个字母设为大写,或者将除第一个字符之外的所有字符转换为小写。我已经在正则表达式上摆弄了一段时间,但无法得到正确的结果。

regex string perl

0
推荐指数
2
解决办法
1823
查看次数

标签 统计

email ×1

jakarta-mail ×1

java ×1

javax.mail ×1

multipart ×1

perl ×1

regex ×1

string ×1