JavaMail快速入门-4

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

不仅仅可以发送普通文本

Javax.mail.Message(继承javax.mail.Part接口)类中的setText(…)方法把消息内容赋给所提供的字符串,把MIME设置为text/plain。

但是,你不仅仅可以发送普通文本,你还可以通过setDateHandler(…)方法发送其它类型的内容。在大多数情况下,你能通过采用“其它类型内容”来指定文件附件,比如Word文档,但是有趣的是,你检查这里的代码发现它发送一个Java序列化的对象:

ByteArrayOutputStream byteStream=new ByteArrayOutputStream();

ObjectOutputStream objectStream=new ObjectOutputStream(byteStream);

objectStream.writeObject(theObject);

msg.setDataHandler(new DataHandler( new ByteArrayDataSource( byteStream.toByteArray(), "lotontech/javaobject" )));

在javax.mail.*包结构中你可能找不到DataHandler类,因为它属于JavaBeans Activation Framework (JAF)的javax.activation包。JAF提供处理数据内容类型的机制,这种机制主要是针对Internet内容而言,也即MIME类型。

假如你已经试验过了以上的代码,通过email来发送一个Java对象,你可能碰到定位ByteArrayDataSource类的问题,因为要么是mail.jar要么是activation.jar未被包含在程序里面。可以到JavaMaildemo目录下去查找一下。

至于你一开始就感兴趣的附件,你可以在DataHandler的构造器中建立一个javax.activation.FileDataSource实例来实现。当然,你不可能单独发送一个文件;它可以作为一个文本消息的附件发送。可能你需要理解多部分消息的概念,现在,我在接收email的环境下为你介绍这个概念。 (出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航