用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内容的方法。

时间: 2025-01-08 05:53:24

用javamail显示复合邮件的内容(1)的相关文章

用JavaMail显示复合邮件的内容

复合邮件:既含图片又含正文,一般是html格式显示.简单理解的话,就是非常漂亮的那种邮件. (个人注解,不很全面) 当我们需要做一个收取邮件的程序时,我们该如何去显示复合邮件的内容呢? 今天我将我得一点心得写出来,希望后来者能够少走弯路.当然也希望同志多加指正. 首先,我们需要从folder中得到一个message对象.这一步不难实现.可以参看很多例子.当我们得到这个message对象后,下一步就是去显示他的内容了.在这部分开始前,首先需要简要介绍一下mimetype的几个重要类型: text/

用javamail显示复合邮件的内容(2)

显示 那没如何得到part得内容呢?这里有一点要强调,并非得到part对象后,调用part.getContent()就能得到part的内容.当初我就是在这里被卡住了.为什么呢?原因是:理论上的指明内容第一个part,既不是一个text/plain类型,也不是一个text/html类型.所以,第15行是永远不成立的.后来经过研究发现,指明内容的第一个part又是一个multipart类型.也就是说,这个邮件可分为多个部分,正文和图片等,而正文部分又可以分为多个部分,如plain的正文和html的正

用javamail显示复合邮件的内容(3)

显示 if(part.isMimeType("multipart/alternative")){ String s6="";String s7="";Multipart mp = (Multipart)part.getContent();int count = mp.getCount();for (int i = 0; i < count; i++) { if(mp.getBodyPart(i).isMimeType("text/

用Javamail写的邮件接收程序

前段时间一直忙于学校里面的事情,没有时间静下心来写接收邮件的程序,现在学校里的事情终于忙完了,可以静下心里做自己喜欢做的事情了,这种感觉真的很好! 对我自己而言,刚开始在用JavaMail来编写收邮件的程序时最重要和最难的要数解析附件和邮件正文的部分,因为Mime类型实在是太多了!下面的这段代码是我自己学习JavaMail的一段体会,供大家来参考(请高手指教,有什么更好的办法,请回复此文章),具体代码如下: package coffeecatwebmail; import java.io.*;

Outlook邮件正文内容空白怎么办

正常情况下,在Outlook邮件列表标题列表中单击任何的标题,在下方或右边的邮件预览窗格中就能正常显示邮件也一样空白. 工具/原料 Microsoft Outlook 方法一 找到并删除Outlook.ost文件一 关闭Outlook程序 点击"开始"菜单中的"运行",粘贴"%homepath%Local SettingsApplication DataMicrosoftOutlook"到文本输入框中,打开个人帐户下Outlook邮件档所在文件夹

基于JavaMail API收发邮件的方法_java

本文实例讲述了基于JavaMail API收发邮件的方法.分享给大家供大家参考.具体如下: 1.JavaMail API按其功能划分通常可分为如下三大类 (1)创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件. (2)发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议. (3)接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个

邮件例程 - JavaMail - 发送HTML邮件

form.htm========<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>邮件例程 - JavaMail - 发送HTML邮件</title></head><body><table border="0" cellspacing=

在Outlook中,为什么附件有时候显示在邮件正文中,有时候显示在标题中

故障现象: 当您撰写电子邮件并将文件附加到邮件时,附件可能有时候显示在邮件正文中,而有时候显示在主题行下面的附件框中.在 Outlook 2010 中拖放文件以将其附加到电子邮件.附件通常显示在标题中,但是有时候文件会附加到邮件的正文. 原因分析: 在 Outlook 中撰写邮件时,根据格式类型的不同,附加文件的方式也有所不同. 1. 在 RTF 格式中,附件显示在邮件正文中.RTF 格式的优点之一是您可以更改字体大小和颜色.Microsoft Outlook 支持这种格式. 2. 在 HTML

html-Dw cs6 要求点击按钮后在左下脚显示对应的mysql内容

问题描述 Dw cs6 要求点击按钮后在左下脚显示对应的mysql内容 如上图:点击提交按钮后就在左下角那里显示我查询出来的内容,应该在哪里写代码,在用dm cs6做的,麻烦懂的人说下 数据库连接成功了其他三个能正常显示. 部分代码 <?php echo $row_Recordset1['06.07.2015']; ?> <?php echo $row_Recordset1['18:25:08']; ?> <td><?php echo $row_Recordset