急!!!求助高手!!!怎么用jsp接收Email中的附件??? 怎么用jsp接收Email中的附件???在此谢过了!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package org.redtroy;import javax.mail.*;import java.util.Properties;import java.io.*;import javax.mail.internet.MimeBodyPart;public class MailReader { static Store store; static Folder folder; public MailReader() { } public static Message[] getMessages(String host, String username, String psw) throws Exception { Properties p = System.getProperties(); Session session = Session.getDefaultInstance(p, null); // session.setDebug(true); store = session.getStore("pop3"); //pop3 or IMAP here store.connect(host, username, psw); folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); return folder.getMessages(); } public static void readMessage(Message m) throws Exception { Multipart mp = (Multipart) m.getContent(); for (int j = 0; j < mp.getCount(); j++) { Part part = mp.getBodyPart(j); String disposition = part.getDisposition(); if (disposition != null) { if (disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE)) { InputStream in = part.getInputStream(); //System.out.println("FileName:"+Base64.decode(part.getFileName())); write2File(in,"C:\\"+part.getFileName());//parg.getFileName()需要进行处理后用base64解码 in.close(); } } if(disposition==null){ MimeBodyPart mbp=(MimeBodyPart)part; if(mbp.isMimeType("text/plain")){ System.out.println("该邮件内容:"); System.out.println( ((String)mbp.getContent())); } } } } public static void write2File(InputStream in, String path) throws Exception { byte[] b = new byte[100]; int len; OutputStream out=new FileOutputStream(new File(path)); while ( (len = in.read(b)) > 0) { out.write(b,0,len); } out.close(); } public static void close() throws Exception { folder.close(false); store.close(); } public static void main(String[] args) { try { Message[] messages = MailReader.getMessages("pop3.126.com", "redtroy", "ZagHnJ82"); BufferedReader reader = new BufferedReader(new InputStreamReader(System. in)); for (int i = 0; i < messages.length; i++) { System.out.println("来自:" + messages[i].getFrom() + "-----主题:" + messages[i].getSubject()); // System.out.println("是否显示该邮件内容[yes显示no不显示]"); MailReader.readMessage(messages[i]); // String cmd=reader.readLine(); /* if(cmd.equalsIgnoreCase("yes")){ messages[i].writeTo(System.out); } }else if(cmd.equalsIgnoreCase("no")){ continue; }*/ } MailReader.close(); } catch (Exception e) { e.printStackTrace(); } }} Base64请访问我的bloghttp://blog.donews.com/redtroy/archive/2005/09/05/540852.aspx 求解:我写的这个背包算法的java实现哪错了? 关于右移求解 从keystore file里读取信息 初学socket,,做可以GUI的通讯程序,, 请人请点一、二 一个很好的免费视频教学下载网站。。。 ★★Java初学者的一点问题(搜索中找不到满意的答案)★★ 请教几个概念方面的问题,弄懂马上揭贴! 如何把12345.67格式化成123,45.7 看这段程序,问题出再那里?? ant问题 请问有没有人熟悉JVM?
import java.util.Properties;
import java.io.*;
import javax.mail.internet.MimeBodyPart;
public class MailReader {
static Store store;
static Folder folder;
public MailReader() {
} public static Message[] getMessages(String host, String username, String psw) throws
Exception {
Properties p = System.getProperties();
Session session = Session.getDefaultInstance(p, null);
// session.setDebug(true);
store = session.getStore("pop3"); //pop3 or IMAP here
store.connect(host, username, psw);
folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
return folder.getMessages();
} public static void readMessage(Message m) throws Exception {
Multipart mp = (Multipart) m.getContent();
for (int j = 0; j < mp.getCount(); j++) {
Part part = mp.getBodyPart(j);
String disposition = part.getDisposition();
if (disposition != null) {
if (disposition.equals(Part.ATTACHMENT) ||
disposition.equals(Part.INLINE)) {
InputStream in = part.getInputStream();
//System.out.println("FileName:"+Base64.decode(part.getFileName()));
write2File(in,"C:\\"+part.getFileName());//parg.getFileName()需要进行处理后用base64解码
in.close();
}
}
if(disposition==null){
MimeBodyPart mbp=(MimeBodyPart)part;
if(mbp.isMimeType("text/plain")){
System.out.println("该邮件内容:");
System.out.println( ((String)mbp.getContent()));
}
}
}
} public static void write2File(InputStream in, String path) throws Exception {
byte[] b = new byte[100];
int len;
OutputStream out=new FileOutputStream(new File(path));
while ( (len = in.read(b)) > 0) {
out.write(b,0,len);
}
out.close();
} public static void close() throws Exception {
folder.close(false);
store.close();
} public static void main(String[] args) {
try {
Message[] messages = MailReader.getMessages("pop3.126.com", "redtroy",
"ZagHnJ82");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.
in));
for (int i = 0; i < messages.length; i++) {
System.out.println("来自:" + messages[i].getFrom() + "-----主题:" +
messages[i].getSubject());
// System.out.println("是否显示该邮件内容[yes显示no不显示]");
MailReader.readMessage(messages[i]);
// String cmd=reader.readLine();
/* if(cmd.equalsIgnoreCase("yes")){
messages[i].writeTo(System.out);
}
}else if(cmd.equalsIgnoreCase("no")){
continue;
}*/
}
MailReader.close();
}
catch (Exception e) {
e.printStackTrace();
}
}}
请访问我的blog
http://blog.donews.com/redtroy/archive/2005/09/05/540852.aspx