快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用JAVAMAIL显示复合邮件的内容(1)

复合邮件:既含图片又含正文,一般是html格式显示。简朴理解的话,就是异常美丽的那种邮件。
(个人注解,不很全面)

当我们需要做一个收取邮件的程序时,我们该如何去显示复合邮件的内容呢?(原问题见‘专家门诊’)
今天我将我得一点心得写出来,希望后来者能够少走弯路。
当然也希望同志多加指正。

首先,我们需要从folder中得到一个message对象。这一步不难实现。可以参看很多例子。当我们得到这个message对象后,下一步就是去显示他的内容了。在这部分开始前,首先需要简要介绍一下mimetype的几个重要类型:
text/html
texl/plain
multipart/alternative
multipart/related

前两个不必多介绍,一个是html格式的正文,一个是无格式正文。假如你的message对象是这两个mimetype的一种的话。那么你的邮件就不是multipart的邮件。你就可以直接去显示他们。如下:
Object o = m.getContent();
if (m.isMimeType("text/plain")||m.isMimeType("text/html"))
{
s="
"+(String)o+"
";
return s;
}
s为要返回的内容字符串。m为message对象。

假如你的message对象是后两种的话,就说明你的邮件是multipart的。需要做一些处理和判定才能正常显示内容。假如message是multipart,只要得到multipart的各个部分(part)的内容。则整个message的内容就得到了。
if (m.isMimeType("multipart/*")
{
Multipart mp = (Multipart)o;
int cnt = mp.getCount();
for (int i = 0; i < cnt; i++)
{
w=w+"
"+getPart(mp.getBodyPart(i), i, 2,x);
}
}

getPart 是得到part内容的方式。
返回类别: 教程
上一教程: JAVA 写的文件浏览器
下一教程: JAVA HOW TO PROGRAM(THIRD EDITION)-我的JAVA手记(五)

您可以阅读与"用JAVAMAIL显示复合邮件的内容(1)"相关的教程:
· 用JAVAMAIL显示复合邮件的内容的亲身体会
· 用JAVAMAIL显示复合邮件的内容(2)
· 用JAVAMAIL显示复合邮件的内容(3)
· 用JavaMail API编写可带附件的邮件发送程序
· 用JAVAMAIL发邮件(含附件)
    微笑服务 优质保证 索取样品