⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 browsemail.jsp

📁 J2EE 技术 源码 书籍源代码(j2ee编程技术)
💻 JSP
字号:
<%@ page contentType="text/html;charset=gb2312"%><%@ page language="java" import="java.util.*"%><%@ page import="javax.mail.*"%><%@ page import="javax.mail.internet.*"%><%@ page import="java.io.*"%><%@ page import="java.text.SimpleDateFormat"%><%String szUser="teacher";String szPwd="654321";String szHost="127.0.0.1";SimpleDateFormat smpDateFormat;smpDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm");try{    Properties props = new Properties();     Session mailsession = Session.getDefaultInstance(props, null);//获取会话对象    Store store = mailsession.getStore("pop3"); //获取邮箱    store.connect(szHost,szUser,szPwd);    Folder folder = store.getFolder("INBOX"); //获取收件箱    folder.open(Folder.READ_ONLY);    //folder.open(Folder.READ_WRITE); //讀寫方式,可以刪除郵件    Message message[] = folder.getMessages();  //获取信件        if(message.length==0){    //没有邮件    }   int nid=0;    message[nid].setFlag(Flags.Flag.SEEN,true);    String szFrom=((InternetAddress)message[nid].getFrom()[0]).getAddress(); //取得真實的發件人地址    String szSubject=MimeUtility.decodeText(message[nid].getSubject());    String szDate=smpDateFormat.format(message[nid].getSentDate());    String szBody="";    String szAttach="";    //Address addrFrom[]=message[nid].getFrom();  //for (k=0;k<addrFrom.length;k++) szFrom=szFrom+ addrFrom[k].toString();    out.println("<table border='0' width='100%' cellpadding='2'><tr>");    out.println("<td width='100%' colspan='2' bgcolor='#F0F0F0'>");    out.println("<table border='0' width='100%' cellpadding='2'><tr>");    out.println("<td width='15%' align='center'>发件人 :</td>");    out.println("<td width='85%'><font face='Fixedsys'>" + szFrom +"</font></td></tr>");    out.println("<tr><td align='center'>日&nbsp;&nbsp;&nbsp; 期 :</td>");    out.println("<td><font face='Fixedsys'>" + szDate +"</font></td></tr>");    out.println("<tr><td align='center'>主&nbsp;&nbsp;&nbsp; 题 :</td>");    out.println("<td>"+ szSubject +"</td></tr></table>");    out.println("</td></tr>");      //提取郵件正文內容    //String szType=message[nid].getContentType();    //提取郵件中的附件    String szType=message[nid].getContentType();    System.out.println("正文********" + szType);    Object out_content = message[nid].getContent();    if(!(out_content instanceof Multipart)) //無附件    {        szBody=message[nid].getContent().toString();    }else{ //有附件        Multipart mp = (Multipart)message[nid].getContent();        String szFile="";        File ffile;        String szpath=application.getRealPath("/")+szUser;               ffile = new File(szpath);        if(!ffile.exists()) ffile.mkdir();        szpath=szpath+ "//tmp";            out.println("szpath: " + szpath );        String szTmp="";        ffile = new File(szpath);        if(!ffile.exists()) ffile.mkdir();        for (int i=0,n=mp.getCount(); i<n; i++) {            Part part = mp.getBodyPart(i);            String szMbp=part.getContentType();            System.out.println("IDX:" + i+ " :類型" + szMbp);            String disposition = part.getDisposition();            if((disposition != null) && ((disposition.equals(Part.ATTACHMENT)||(disposition.equals(Part.INLINE))))){                //創建一個文件,並從輸入流中流讀取字節,存入到文件中     //MimeUtility.decodeText()            //System.out.println(MimeUtility.decodeText(part.getFileName()));            //out.println("附件: " + MimeUtility.decodeText(part.getFileName())  + " 附件大小" + part.getSize());                szFile=MimeUtility.decodeText(part.getFileName());                szTmp=szFile;                            out.println("FILE: " + szpath + "/" + szFile);                ffile = new File(szpath + "/" + szFile);      //for (k=0; ffile.exists(); k++){    //    szTmp=k+szFile;            //    System.out.println("FILE: " + szpath + "/" + k+ szFile );            //    ffile = new File(szpath + "/" + k + szFile);            //}            //System.out.println("文件名:"+ szFile);                FileOutputStream outfile = new FileOutputStream(ffile);                BufferedInputStream br = new BufferedInputStream(part.getInputStream());                BufferedOutputStream bw = new BufferedOutputStream(outfile);                int b;                while ((b = br.read()) != -1)   bw.write(b);                bw.flush();                szAttach=szAttach+"<br><a href='../webmail/" + szUser +"/tmp/"+ szTmp + "'>" + szTmp  + "</a>";            }else if(disposition==null){                MimeBodyPart mbp = (MimeBodyPart)part;                if (mbp.isMimeType("text/plain")||mbp.isMimeType("text/html")){ //普通正文                    szBody=mbp.getContent().toString();                    szBody=szBody.replaceAll("\r\n","<br>");                }else if(mbp.isMimeType("multipart/alternative")) { //HTML正文                    szBody=((Multipart)part.getContent()).getBodyPart(1).getContent().toString();                }            }        }    }    System.out.println("內容:" + szBody);    out.println("<tr><td width='75%' height='215' valign='top'>" + szBody +"</td>");    out.println("<td width='25%' bgcolor='#F0F0F0' valign='top'><p align='center'><b>附件</b></p>");    out.println("<p>"+ szAttach +"</p></td>");    out.println("</tr><table>");    //Close connection    folder.close(false);  //folder.close(true); //如果要刪除有DELETE標記的郵件,需設置true    store.close();}catch(javax.mail.MessagingException  e){    System.out.println(e.getMessage());    return ;}%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -