收郵件列表
<%@ page contentType="text/html;charset=big5"%>
<%@ page language="java" import="java.util.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="java.text.SimpleDateFormat"%><HTML>
<HEAD>
<TITLE>收件夾</TITLE>
</HEAD>
<BODY>
<%
String szUser=(String)session.getAttribute("username");
String szPwd=(String)session.getAttribute("pwd");
String szHost=(String)session.getAttribute("pop3svr");
String szAcc=(String)session.getAttribute("mailacc");
out.println("<font face='Fixedsys'>" + szAcc + "</font><br>");
%>
收件夾
<table border="1" width="100%" cellspacing="1" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr>
<td width="7%" bgcolor="#EBEBEB" align="center" height="20">選擇</td>
<td width="7%" bgcolor="#EBEBEB" align="center">狀態</td>
<td width="20%" bgcolor="#EBEBEB" align="center">發件人</td>
<td width="22%" bgcolor="#EBEBEB" align="center">日期</td>
<td width="34%" bgcolor="#EBEBEB" align="center">主題</td>
<td width="10%" bgcolor="#EBEBEB" align="center">長度</td>
</tr>
<%
String szDate="";
SimpleDateFormat smpDateFormat;
smpDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm");
try{
Properties props = new Properties(); //java.util.Properties
Session mailsession = Session.getDefaultInstance(props, null);//Get session //javax.mail.Session Store store = mailsession.getStore("pop3"); //Get the store //javax.mail.Store
store.connect(szHost,szUser,szPwd); Folder folder = store.getFolder("INBOX"); //Get folder //javax.mail.Folder
folder.open(Folder.READ_ONLY);//folder.open(Folder.READ_WRITE); //讀寫方式,可以刪除郵件 //Folder[] folders=folder.list();
Message message[] = folder.getMessages(); //Get directory //javax.mail.Message
//int k=folder.getUnreadMessageCount();//得到新郵件數
//int m=folder.getMessageCount(); //得到所有郵件數 int n=message.length;
for (int i=0; i<n; i++) {//message[i].setFlag(Flags.Flag.DELETED,true); //設定刪除標志
//System.out.println(i + ": " + message[i].getFrom()[0] + "\t" + message[i].getSubject());
out.println("<tr>");
out.println("<td height='20' align='center'>*</td>");
if (message[i].getFlags().contains(Flags.Flag.SEEN)) //已讀
out.println("<td align='center'>OLD</td>");
else //新郵件
out.println("<td align='center'>NEW</td>");
out.println("<td align='center'><a href='viewmail.jsp?sid=" + i +"'><font face='Fixedsys'>" + ((InternetAddress)message[i].getFrom()[0]).getAddress() + "</font></a></td>");
szDate =smpDateFormat.format(message[i].getSentDate());
out.println("<td align='center'><font face='Fixedsys'>" + szDate +"</font></td>");
out.println("<td align='center'>" + message[i].getSubject() +"</td>");
out.println("<td align='center'><font face='Fixedsys'>" + message[i].getSize() + "Byte</font></td>");
out.println("</tr>");
}
//Close connection
folder.close(false); //folder.close(true); //如果要刪除有DELETE標記的郵件,需設置true
store.close();
}
catch(javax.mail.MessagingException e){
System.out.println(e.getMessage());
return ;
}
%>
</table></BODY>
</HTML>
<%@ page contentType="text/html;charset=big5"%>
<%@ page language="java" import="java.util.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="java.text.SimpleDateFormat"%><HTML>
<HEAD>
<TITLE>收件夾</TITLE>
</HEAD>
<BODY>
<%
String szUser=(String)session.getAttribute("username");
String szPwd=(String)session.getAttribute("pwd");
String szHost=(String)session.getAttribute("pop3svr");
String szAcc=(String)session.getAttribute("mailacc");
out.println("<font face='Fixedsys'>" + szAcc + "</font><br>");
%>
收件夾
<table border="1" width="100%" cellspacing="1" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr>
<td width="7%" bgcolor="#EBEBEB" align="center" height="20">選擇</td>
<td width="7%" bgcolor="#EBEBEB" align="center">狀態</td>
<td width="20%" bgcolor="#EBEBEB" align="center">發件人</td>
<td width="22%" bgcolor="#EBEBEB" align="center">日期</td>
<td width="34%" bgcolor="#EBEBEB" align="center">主題</td>
<td width="10%" bgcolor="#EBEBEB" align="center">長度</td>
</tr>
<%
String szDate="";
SimpleDateFormat smpDateFormat;
smpDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm");
try{
Properties props = new Properties(); //java.util.Properties
Session mailsession = Session.getDefaultInstance(props, null);//Get session //javax.mail.Session Store store = mailsession.getStore("pop3"); //Get the store //javax.mail.Store
store.connect(szHost,szUser,szPwd); Folder folder = store.getFolder("INBOX"); //Get folder //javax.mail.Folder
folder.open(Folder.READ_ONLY);//folder.open(Folder.READ_WRITE); //讀寫方式,可以刪除郵件 //Folder[] folders=folder.list();
Message message[] = folder.getMessages(); //Get directory //javax.mail.Message
//int k=folder.getUnreadMessageCount();//得到新郵件數
//int m=folder.getMessageCount(); //得到所有郵件數 int n=message.length;
for (int i=0; i<n; i++) {//message[i].setFlag(Flags.Flag.DELETED,true); //設定刪除標志
//System.out.println(i + ": " + message[i].getFrom()[0] + "\t" + message[i].getSubject());
out.println("<tr>");
out.println("<td height='20' align='center'>*</td>");
if (message[i].getFlags().contains(Flags.Flag.SEEN)) //已讀
out.println("<td align='center'>OLD</td>");
else //新郵件
out.println("<td align='center'>NEW</td>");
out.println("<td align='center'><a href='viewmail.jsp?sid=" + i +"'><font face='Fixedsys'>" + ((InternetAddress)message[i].getFrom()[0]).getAddress() + "</font></a></td>");
szDate =smpDateFormat.format(message[i].getSentDate());
out.println("<td align='center'><font face='Fixedsys'>" + szDate +"</font></td>");
out.println("<td align='center'>" + message[i].getSubject() +"</td>");
out.println("<td align='center'><font face='Fixedsys'>" + message[i].getSize() + "Byte</font></td>");
out.println("</tr>");
}
//Close connection
folder.close(false); //folder.close(true); //如果要刪除有DELETE標記的郵件,需設置true
store.close();
}
catch(javax.mail.MessagingException e){
System.out.println(e.getMessage());
return ;
}
%>
</table></BODY>
</HTML>
解决方案 »
- hibernate更新mysql表
- 關於Tomcat的問題
- HTML框架标签怎么显示不出来????
- 图片在IE6中不能显示
- 当request中只有一组数据如何用struts1.2标签在jsp中显示
- Strut 2传值问题
- 支撑1亿pv/天的超级数据库解决方案,他妈开源了,不看后悔一辈子
- EXT 动态设置portal Demo 高度的问题,请那位高手指点...
- 100分恳求大虾支招!JSP中连接sql server2000的问题
- 有谁用过JAR工具给JavaBean打包啊?
- 求解决方案!在远端如何通过互连网处理本地数据库服务器内的数据(SQLSERVER)?
- 错误提示:package javax.servlet not exit package javax.servlet.http not exit 请哪位大虾指出错误所在和解决办法
<%@ page contentType="text/html;charset=big5"%>
<%@ page language="java" import="java.util.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.SimpleDateFormat"%><!--%!
public String getPart(Part part, int partNum) throws MessagingException,IOException
{
String s="";
String sct = part.getContentType();
if (sct == null) {
s="part 無效";
return s;
} if (sct.equals("text/html")||sct.equals("text/plain")){
s=MimeUtility.decodeText((String)part.getContent());
System.out.println(s);
return s;
}//else if(partNum!=0) {
// String temp="";
// if ((temp = part.getFileName()) != null) s= "<b>Filename:</b> " + temp + "<br>";
//} if(part.isMimeType("multipart/alternative")) {
Multipart mp = (Multipart)part.getContent();
int count = mp.getCount();
//System.out.println("XXXX:" + count);
//s=s+getPart(mp.getBodyPart(1),1);
for (int i = 0; i < count; i++) { //System.out.print("00000*****:" +i);
if(mp.getBodyPart(i).isMimeType("text/plain")||mp.getBodyPart(i).isMimeType("text/html")) s=s + getPart(mp.getBodyPart(i),i);
}
System.out.println(s);
return s;
}
System.out.println( s);
return s;
}
%>
--><%
String szUser=(String)session.getAttribute("username");
String szPwd=(String)session.getAttribute("pwd");
String szHost=(String)session.getAttribute("pop3svr");
String szAcc=(String)session.getAttribute("mailacc");
out.println("<font style='font-family:arial' size='4'>"+ szAcc +"</font><br>");
SimpleDateFormat smpDateFormat;
String szId=request.getParameter("sid");
int nid=java.lang.Integer.parseInt(szId);
smpDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm");try{
Properties props = new Properties(); //java.util.Properties
Session mailsession = Session.getDefaultInstance(props, null);//Get session //javax.mail.Session Store store = mailsession.getStore("pop3"); //Get the store //javax.mail.Store
store.connect(szHost,szUser,szPwd); Folder folder = store.getFolder("INBOX"); //Get folder //javax.mail.Folder
folder.open(Folder.READ_ONLY);//folder.open(Folder.READ_WRITE); //讀寫方式,可以刪除郵件 Message message[] = folder.getMessages(); //Get directory //javax.mail.Message
//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'>日 期 :</td>");
out.println("<td><font face='Fixedsys'>" + szDate +"</font></td></tr>");
out.println("<tr><td align='center'>主 題 :</td>");
out.println("<td>"+ szSubject +"</td></tr></table>");
out.println("</td></tr>"); //System.out.println(szFrom +":" + szDate+":" + szSubject); //提取郵件正文內容 //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"; //System.out.println("路徑:" + 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 ;
}
%>
包含整個webmail project