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

📄 viewmail.jsp

📁 JSP开发的E_MAIL应用
💻 JSP
字号:
<%@ 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("pop3");//protocol为连接协议,IMAP或是POP
store.connect("pop3.126.com","dengziyun","8807698");//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=\"750\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">");
out.println("<tr>");
out.println("<td width=80>主题:</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[i]);
}
out.println("<tr><td width=80>来自:</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/tplain就可直接读出了。
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();

%>

⌨️ 快捷键说明

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