<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 70,comments - 408,trackbacks - 0
    看過在jsp中調用javamail后發現里面只有發郵件,沒有收看郵件,且在收看郵件時有個很麻煩的內碼轉換問題,所以寫這篇文章出來給大家看看。如有錯誤請寫信給我。
    使用Java Mail API的方法,主要的操作過程為:
    ● 獲取javax.mail.Session實例,并進而獲得javax.mail.Store實例。
    ● 利用javax.mail.Store實例獲得缺省收件箱(INBOX)javax.mail.Folder實例。
    ● 使用javax.mail.Folder對象提取新郵件,存儲為javax.mail.Message對象數組。
    ● 創建javax.mail.FetchProfile以(潛在地)優化對特定郵件組成成分的提取。
    這里的javax.mail.FetchProfile類提供郵件協議提供者可選參數,其目的是更有效地實現郵件組成成分的預提取。
    一個例子:
    <%@ page language="java" contentType="text/html;charset=gb2312" %>
    <%@ page import="java.util.*,java.io.*,java.text.*" %>
    <%@ page import="javax.mail.*,javax.mail.internet.*,javax.activation.*" %>
    <%!
    private String getDisplayAddress(Address a) //轉換RFC822為Unicode
    { String pers = null;
    String addr = null;
    if(a instanceof InternetAddress &&((pers=((InternetAddress)a).getPersonal())!=null))
    addr=pers+" "+"<"+((InternetAddress)a).getAddress()+">";

    else
    addr = a.toString();
    return addr;
    }
    %>
    <%
    Session mailsession=Session.getInstance(System.getProperties(),null);
    mailsession.setDebug(false);
    Store store=mailsession.getStore(protocol);//protocol為連接協議,IMAP或是POP
    store.connect(mailhost,-1,user,passwd);//mailhost主機,user為用戶名,passwd為密碼
    Folder folder = store.getFolder("INBOX");
    try
    { folder.open(Folder.READ_WRITE);}
    catch (MessagingException ex)
    { folder.open(Folder.READ_ONLY);}
    Message message[]=folder.getMessages();
    FetchProfile fp=new FetchProfile();
    fp.add(FetchProfile.Item.ENVELOPE);
    fp.add(FetchProfile.Item.FLAGS);
    fp.add("X-Mailer");
    folder.fetch(message,fp);
    int id=0,j=0;
    for(int i=0;i<request.getParameter("id").length();i++)//假設要閱讀第ID個郵件。
    id=id*10+(request.getParameter("id").charAt(i)-48);
    for(j=0;j<id;j++);
    message[j].setFlag(Flags.Flag.SEEN,true);
    out.println("<table width=\"550\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" borderColorDark=\"#eaf0ff\" borderColorLight=\"#000000\" align=\"center\">");
    out.println("<tr>");
    out.println("<td width=60>主題:</td><td width=490> "+message[j].getSubject()+" </td></tr>");
    String from=new String();
    Address[] fr=message[j].getFrom();
    if(fr!=null)
    { boolean tf=true;
    for(int i=0;i<fr.length;i++)
    from=from+getDisplayAddress(fr);
    }
    out.println("<tr><td width=60>來自:</td><td width=490> "+from+" </td></tr>");
    out.println("<tr><td colspan=\"2\"> <div align=\"center\"><b>內容</b></div><br>");
    Object o=message[j].getContent();
    if (message[j].isMimeType("text/plain")) //若其Type為tex/plain就可直接讀出了。
    out.println((String)o+"</td>");
    else if(message[j].isMimeType("multipart/*"))
    { Multipart mp=(Multipart)o;
    Part part=mp.getBodyPart(0);
    String msg=(String)part.getContent();
    StringBuffer buf=new StringBuffer(msg.length()+6);
    char ch=' ';
    for(int i=0;i<msg.length();i++)//若遇到換行就轉為<br>
    { ch=msg.charAt(i);
    if(ch=='\n')buf.append("<br>");
    else buf.append(ch);
    }
    out.println(buf.toString());
    }
    else
    out.println("現在還無法顯示:"+message[j].getContentType());
    out.println("</tr>");
    out.println("<table>");
    folder.close(true);
    store.close();
    %>
    在Folder對象中可以用getMessageCount()和getUnreadMessageCount()方法來取得總共有多少封信和共有多少封信未讀。
    posted on 2006-04-12 13:38 我心依舊 閱讀(915) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久中文字幕免费视频| 国产亚洲精品看片在线观看 | 日韩人妻一区二区三区免费| 亚洲日韩AV一区二区三区中文 | 亚洲精品偷拍视频免费观看| 亚洲乱码日产精品一二三| 亚洲日本一区二区| 亚洲女同成av人片在线观看 | 亚洲中文字幕精品久久| 亚洲福利在线视频| 亚洲中文字幕第一页在线| 免费国产成人高清在线观看麻豆| 免费在线看v网址| 在线免费观看亚洲| 免费日本一区二区| 黄桃AV无码免费一区二区三区| 精品亚洲成A人在线观看青青| 久久精品国产亚洲AV久| 亚洲高清中文字幕| 亚洲成人免费在线| 久久久久亚洲AV片无码| 亚洲无线码在线一区观看| 亚洲真人日本在线| 亚洲色图综合在线| 亚洲精品97久久中文字幕无码| 国产成人免费片在线视频观看| 日韩一级在线播放免费观看| 午夜小视频免费观看| 女人被男人躁的女爽免费视频| 最近中文字幕mv免费高清电影| 无码国产精品久久一区免费| 黄页网站免费观看| 97人伦色伦成人免费视频| 成人毛片免费观看视频在线| 日本免费一本天堂在线| 日韩电影免费在线| 四虎影在线永久免费四虎地址8848aa| 免费无码又爽又高潮视频| 免费人成年激情视频在线观看| 亚洲精品一级无码中文字幕| 亚洲欭美日韩颜射在线二|