当前位置: 技术问答>java相关
请问javamail是怎么实现附件的发送和接受的?
来源: 互联网 发布时间:2015-09-24
本文导语: 能给出具体调用接口或则给一个小例子最好! | 这两篇文章看看,我以前写javamail的时候也是参考这两篇的,基本上可以满足你的要求 http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_618471,00.htm...
能给出具体调用接口或则给一个小例子最好!
|
这两篇文章看看,我以前写javamail的时候也是参考这两篇的,基本上可以满足你的要求
http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_618471,00.html
http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_618481,00.html
具体例子,不好意思啦,写的有一段时间了,也只是试试而已,现在也不知道搞哪里去了,准备过几周再写。
http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_618471,00.html
http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_618481,00.html
具体例子,不好意思啦,写的有一段时间了,也只是试试而已,现在也不知道搞哪里去了,准备过几周再写。
|
好像不是哦,我记得是用javax.mail.FetchProfile
我找了曾经写maillist的一段代码:
需要先打开folder,然后..
// 获得所有新邮件的属性和标记
Message[] messages = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add("X-Mailer");
folder.fetch(messages, fp);
Message newMessage = new MimeMessage(session); //带附件的message
newMessage.setContent((Multipart)message.getContent());
我这里是把收到的信件message直接发出去了
我找了曾经写maillist的一段代码:
需要先打开folder,然后..
// 获得所有新邮件的属性和标记
Message[] messages = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add("X-Mailer");
folder.fetch(messages, fp);
Message newMessage = new MimeMessage(session); //带附件的message
newMessage.setContent((Multipart)message.getContent());
我这里是把收到的信件message直接发出去了
|
创建一个MimeBodyPart对象并通过file读取多个文件给它,然后绑定到为MimeMessage创建的MimeMultipart实例,随后把MimeMultipart绑定给MimeMessage,随后发送出去。
MimeMessage.setContent(MimeMultipart)
MimeMultipart.addBodyPart(MimeBodyPart)
读取message的时候要注意,我见过有朋友很随意的就把它当作带附件的信件处理。
可以用instance of来判断一下每封信是否有附件,或者通过带附件标记来判断:
Object content = message.getContent();
if (content instanceof Multipart)
//message带附件
else
//message不带附件
很抱歉我家里机器上没有那几个jar,所以没法具体测试一下,只能根据以前的代码和记忆这么写。
MimeMessage.setContent(MimeMultipart)
MimeMultipart.addBodyPart(MimeBodyPart)
读取message的时候要注意,我见过有朋友很随意的就把它当作带附件的信件处理。
可以用instance of来判断一下每封信是否有附件,或者通过带附件标记来判断:
Object content = message.getContent();
if (content instanceof Multipart)
//message带附件
else
//message不带附件
很抱歉我家里机器上没有那几个jar,所以没法具体测试一下,只能根据以前的代码和记忆这么写。
|
mark