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

📄 messageservlet.java

📁 一个简单的java邮件系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	    	.append("</font>&nbsp;</td></tr>\r\n");		    
		    if(msg.messageParts != null) {
		    	sb.append("<tr><td width=\"110\" valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\"><font size=\"2\">")
		    		.append(myContext.getI18nString("_str_msg_attach"))
		    		.append("</font></td><td width=\"600\" class=\"data\" bgcolor=\"#eeeeff\"><font size=\"2\">\r\n");		    
		    	StringBuffer sbAtt = new StringBuffer();
		       int attNo = 0;
		       for(java.util.Enumeration en = msg.messageParts.elements(); en.hasMoreElements();) { 
		         oliva.mail.MessagePart att = (oliva.mail.MessagePart)en.nextElement();
		         String link = "";
		         if(att.type == oliva.mail.MessagePart.T_RFC822) {
		           link = "./message?msgno=" +
		                       Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                       "&partno=" + Integer.toString(att.partNo);
		           /*
		                       "&ppno=" + Integer.toString(partno) +
		                       "&ppgno=" + Integer.toString(msg.pgNo);
		           */     
		           sbAtt.append("<a href=\"" + link + "\">" + myContext.getI18nString("_str_rfc822message") + "</a>;  ");
		         } else if(att.fileName != null) {
		           link = "./attach/" + att.fileName/*.replace(' ', '_')*/ + "?msgno=" +
		                       Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                       "&partno=" + Integer.toString(att.partNo) +
		                       /*"&file=" + att.fileName.replace(' ', '_') +*/
		                       ((att.charset != null)?"&charset=" + att.charset:"") +
		                       "&ctnttype=" + att.contentType/*.replace('/', '@')*/;
		           sbAtt.append("<a target=\"_blank\" href=\"" + link + "\">" + att.fileName + "</a>;  ");                   
		         } else if(att.cid != null || att.alternative || att.type == oliva.mail.MessagePart.T_BINARY) {
		           if(att.type == oliva.mail.MessagePart.T_TEXT) {
		             String attFileName = "(ATT" + String.valueOf(attNo++) + "." + 
		               oliva.mail.MailUtils.getExtension(att.contentType) + ")";
		             link = "./textpart?msgno=" +
		                         Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                         "&partno=" + Integer.toString(att.partNo) +
		                         "&file=" + attFileName + "&ctnttype=" + att.contentType;
		             sbAtt.append("<a href=\"" + link + "\" target=\"_blank\">" + attFileName + "</a>;  ");
		           } else if(att.type == oliva.mail.MessagePart.T_BINARY) {
		             String attFileName = "ATT" + String.valueOf(attNo++) + "." + 
		               oliva.mail.MailUtils.getExtension(att.contentType);
		             link = "./attach/" + attFileName + "?msgno=" +
		                         Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                         "&partno=" + Integer.toString(att.partNo) +
		                         /*"&file=" + attFileName +*/
		                         ((att.charset != null)?"&charset=" + att.charset:"") +
		                         "&ctnttype=" + att.contentType/*.replace('/', '@')*/;
		             sbAtt.append("<a target=\"_blank\" href=\"" + link + "\">" + attFileName + "</a>;  ");
		           }
		         }
		       }
		       String attList = sbAtt.toString();
		       if(attList.length() > 3)
		         attList = attList.substring(0, attList.length() - 3);
		       sb.append(attList).append("</font>&nbsp;</td></tr>");
		    }
		    //Sent date
		    sb.append("<tr>\r\n");
		    sb.append("<td valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\"><font size=\"2\">")
		    		.append(myContext.getI18nString("_str_msg_sentdate")).append("</font></td>\r\n");
		    sb.append("<td class=\"data\" bgcolor=\"#eeeeff\"><font size=\"2\">")
		    	.append(oliva.common.OlivaUtils.getDateString(msg.sentDate, myContext.lang, myContext.getI18nString("_settings.dateFormat")))
		    	.append("</font></td>\r\n");
		    sb.append("</tr>\r\n");
		    //Received date
		    sb.append("<tr>\r\n");
		    sb.append("<td valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\"><font size=\"2\">")
		    		.append(myContext.getI18nString("_str_msg_received_date")).append("</font></td>\r\n");
		    sb.append("<td class=\"data\" bgcolor=\"#eeeeff\"><font size=\"2\">")
		    	.append(oliva.common.OlivaUtils.getDateString(msg.receivedDate, myContext.lang, myContext.getI18nString("_settings.dateFormat")))
		    	.append("</font></td>\r\n");
		    sb.append("</tr>\r\n");		    		    
		    sb.append("<tr>\r\n");
		    sb.append("<td valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\"><font size=\"2\">")
		    	.append(myContext.getI18nString("_str_list_size")).append(":</font></td>\r\n");
		    sb.append("<td class=\"data\" bgcolor=\"#eeeeff\"><font size=\"2\">")
		    	.append(OlivaUtils.getSizeString(msg.msgSize)).append("</font></td>\r\n");
		    sb.append("</tr>\r\n");
		    sb.append("<tr>\r\n");
		    sb.append("<td valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\">")
		    	.append("<font size=\"2\">").append(myContext.getI18nString("_str_msg_codepage"))
		    	.append("</font></td>\r\n");
		    sb.append("<td class=\"data\" bgcolor=\"#eeeeff\"><font size=\"2\">\r\n");		    		    		    		    
		    if(msg.cp == null || msg.cp.equals("")) {
		    	sb.append("Auto\r\n");
		    } else {
		    	sb.append("<a href=\"./message?msgno=").append(msg.msgNo)
		    		.append("&msguid=").append(msguid)
		    		.append((partno == -1)?"":"&partno=" + String.valueOf(partno))
		    		.append("\"><font size=\"2\">Auto</font></a>\r\n");
		    }
		    sb.append("&nbsp;");
		    for(java.util.Enumeration cpen = myContext.cpProps.propertyNames(); cpen.hasMoreElements();) {
		         String pkey = (String)cpen.nextElement();
		         String pvalue = myContext.cpProps.getProperty(pkey);
		         if(msg.cp != null && pvalue.equals(msg.cp)) {
		        	 sb.append(pkey);
		         } else {
		        	 sb.append("<a href=\"./message?msgno=").append(msg.msgNo)
		        	 	.append("&msguid=").append(msguid)
		        	 	.append((partno == -1)?"":"&partno=" + String.valueOf(partno))
		        	 	.append("&cp=").append(pvalue).append("\"><font size=\"2\">")
		        	 	.append(pkey).append("</font></a>\r\n");		    
		         }
		         sb.append("&nbsp;");
		    }		    		   
		    sb.append("<input type=\"hidden\" name=\"msgno\" value=\"").append(msg.msgNo)
		    	.append("\">\r\n");
		    sb.append("<input type=\"hidden\" name=\"msuid\" value=\"").append(msguid).append("\">\r\n");
		    if (partno != -1) {
		    	sb.append("<input type=\"hidden\" name=\"partno\" value=\"")
		    		.append(partno).append("\">\r\n");
		    }		    
		    sb.append("<select name=\"cp\">\r\n");
		    sb.append("<option value=\"\">-------</option>\r\n");
		    String cps[] = olivax.webmail.Charsets.getCpArraySorted();
		       for(int i = 0; i < cps.length; i++) {
		    	 String selected = "";
		    	 if(msg.cp != null && cps[i].equalsIgnoreCase(msg.cp))
		    		 selected = "selected";
		    	 sb.append("<option value=\"").append(cps[i]).append("\" ").append(selected).append(">")
		    	 	.append(cps[i]).append("</option>\r\n");
		       }		    
		    sb.append("</select>\r\n");		    
		    sb.append("<input type = \"submit\" value=\"Go\">\r\n");
		    sb.append("</font></td></tr>\r\n");
		    sb.append("<tr>\r\n");
		    
		    StringBuffer sbCtnt = new StringBuffer();
		    boolean allowHr = false;
		    if(msg.messageParts != null) {
		       for(java.util.Enumeration en = msg.messageParts.elements(); en.hasMoreElements();) { 
		         oliva.mail.MessagePart textPart = (oliva.mail.MessagePart)en.nextElement();
		         if(textPart.fileName != null || textPart.cid != null || textPart.alternative || 
		             textPart.type == oliva.mail.MessagePart.T_RFC822 || textPart.type == oliva.mail.MessagePart.T_BINARY)
		           continue;
		    	 String textPartText = null;
		    	 if (!textPart.isMimeType("message/partial")) {					
		    	 	 textPartText = msg.getTextPart(textPart.partNo);
		    	 }
		         if(textPart.isMimeType("text/html")) {
		           if(msg.cids != null) {
		             for(java.util.Enumeration ciden = msg.cids.elements(); ciden.hasMoreElements();)
		             {
		               oliva.mail.MessagePart cidPart = (oliva.mail.MessagePart)ciden.nextElement();
		               String link = "./attach?msgno=" + Integer.toString(msg.msgNo) +
		                      "&msguid=" + msg.UID + "&partno=" + Integer.toString(cidPart.partNo);
		               textPartText = textPartText.replaceAll(cidPart.getCidPattern(), link);
		             }       
		           }
		           textPartText = oliva.mail.MailUtils.escapeHtmlTags(textPartText);
		           if(!showPics) {
		               String htmlNoPics = myContext.getHtmlNoPics(textPartText);
		               if(!textPartText.equals(htmlNoPics)) {
		            	   textPartText = htmlNoPics;
		            	   htmlNoPics = null;
		            	   picsHided = true;
		               }
		           }       
		         } else if(textPart.isMimeType("text/*")) {
		           textPartText = "<font face=\"Courier\" size=\"2\">" + 
		               oliva.mail.MailUtils.replaceODOA(textPartText.replaceAll("<", "&lt;").replaceAll(">", "&gt;"), "<br/>") + "</font>";
		         } else if(textPart.isMimeType("message/delivery-status"))
		           textPartText = "<pre>" + textPartText + "</pre>";
		         else if(textPart.isMimeType("message/partial"))
		           textPartText = "<h3>" + myContext.getI18nString("_str_mb_splitted") + "</h3>";
		         if(textPartText != null) {
		           if(allowHr) { 
		             sbCtnt.append("<hr/>");
		           }
		           sbCtnt.append("<div>").append(textPartText).append("</div>");
		           allowHr = true;
		         }
		       }
		          
		       if(myContext.mailBean.isRichContent()) {
		         for(java.util.Enumeration en = msg.messageParts.elements(); en.hasMoreElements();) { 
		           oliva.mail.MessagePart att = (oliva.mail.MessagePart)en.nextElement();
		           if(att.fileName != null && att.isMimeType("image/*")) {    
		        	 if(!showPics) {
		        		 picsHided = true;
		        		 break;
		        	 }
		             String link = "./attach/" + att.fileName/*.replace(' ', '_')*/ + "?msgno=" +
		                           Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                           "&partno=" + Integer.toString(att.partNo) +
		                           /*"&file=" + att.fileName.replace(' ', '_') +*/
		                           /*((att.charset != null)?"&charset=" + att.charset:"") +*/
		                           "&ctnttype=" + att.contentType/*.replace('/', '@')*/;
		             if(allowHr) { 
		                 sbCtnt.append("<hr/>");         
		             }       	                             
		             sbCtnt.append("<p><img src=\"").append(link).append("\"></p>");
		             allowHr = true;
		           }
		         }      
		       }
		    }

		    sb.append("<td valign=\"top\" class=\"hdr\" bgcolor=\"#ccccff\"><font size=\"2\">")
		    	.append(myContext.getI18nString("_str_msg_content"))
		    	.append("</font>\r\n");
		    if(msg.isHighlyImportant()) {
		    	//sb.append(" <img src=\"imptnt.gif\" width=\"16\" height=\"16\">");
		    	sb.append("<font color=\"#990033\" size=\"2\"><strong>!</strong></font>");
		    }		          	
	        sb.append("<br>");
		    sb.append("<a target=\"_blank\" href=\"./headers?msgno=")
		    	.append(msg.msgNo).append("&msguid=").append(msguid).append("&cp=")
		    	.append(OlivaUtils.nvl(msg.cp)).append("&partno=").append(partno)
		    	.append("\"><font size=\"1\">").append(myContext.getI18nString("_str_headers"))
		    	.append("</font></a><br>\r\n");
		    sb.append("<a target=\"_blank\" href=\"./source?msgno=").append(msg.msgNo)
		    	.append("&msguid=").append(msguid).append("&partno=").append(partno)
		    	.append("\"><font size=\"1\">").append(myContext.getI18nString("_str_source"))
		    	.append("</font></a><br>\r\n");
		    if(!showPics && picsHided) {
		    	sb.append("<br><a href=\"./message?msgno=").append(msg.msgNo)
		    		.append("&msguid=").append(msguid).append("&partno=").append(partno)
		    		.append("&cp=").append(OlivaUtils.nvl(msg.cp))
		    		.append("&shpics=true\"><img border=\"0\" src=\"shpics.jpg\" width=\"32\" height=\"32\" alt=\"")
		    		.append(myContext.getI18nString("_str_show_pics")).append("\"></a><br>\r\n");
		    }
		    sb.append("<img src=\"./shim.gif\" width=\"1\" height=\"280\"></td>\r\n");
		    sb.append("<td height=\"100%\" valign=\"top\" bgcolor=\"ffffff\">\r\n");
		    sb.append(sbCtnt.toString());
		    sb.append("&nbsp;</td>\r\n");
		    sb.append("</tr>\r\n");
		    sb.append("</table>\r\n");
		    sb.append("</form>\r\n");

		    webPane = new WebPane();
		    webPane.setColor(WebPane.COLOR_9999CC);
		    webPane.setHeight("200");
		    webPane.setContent(sb.toString());
		    webPage.addPane(webPane);		    

		    //Menu		    
		    webPage.addPane(menuPane);
		    
		    webPage.show(out);
		    
		    sb = new StringBuffer();
		    sb.append("</body>\r\n");
		    sb.append("</html>\r\n");
		    out.print(sb.toString());
		    out.flush();
		    out.close();	    
		} catch (Exception e) {
			try {
				Context.sendErrorRedirect(this, request, response, "/error", e);
			} catch (Exception exc) {				
				exc.printStackTrace();				
			}
		}		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

⌨️ 快捷键说明

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