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

📄 pdamessageservlet.java

📁 一个简单的java邮件系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		           oliva.mail.MessagePart att = (oliva.mail.MessagePart)en.nextElement();
		           String link = "";
		           if(att.type == oliva.mail.MessagePart.T_RFC822) {
		             link = "./pda_message?msgno=" +
		                         Integer.toString(msg.msgNo) + "&msguid=" + msg.UID +
		                         "&partno=" + Integer.toString(att.partNo);     
		             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) +
		                         "&disp=att" +
		                         /*"&file=" + att.fileName.replace(' ', '_') +*/
		                         ((att.charset != null)?"&charset=" + att.charset:"") +
		                         "&ctnttype=" + att.contentType;
		             //sbAtt.append("<a target=\"_blank\" href=\"" + link + "\">" + att.fileName + "</a>;  ");
		             sbAtt.append("<a 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 = "./pda_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) +
		                           "&disp=att" +
		                           /*"&file=" + attFileName +*/
		                           ((att.charset != null)?"&charset=" + att.charset:"") +
		                           "&ctnttype=" + att.contentType;
		               //sbAtt.append("<a target=\"_blank\" href=\"" + link + "\">" + attFileName + "</a>;  ");
		               sbAtt.append("<a href=\"" + link + "\">" + attFileName + "</a>;  ");
		             }
		           }
		         }
		       String attList = sbAtt.toString();
		       if (attList.length() > 3) {
					attList = attList.substring(0, attList.length() - 3);
					sb.append("<tr><td bgColor=\"#ccccff\"><font size=\"3\"><strong>")
							.append(myContext.getI18nString("_str_msg_attach"))
							.append(" </strong>");
					sb.append(attList).append("&nbsp;</font></td></tr>");
				}
		    }
		    sb.append("<tr><td bgColor=\"#ccccff\"><font size=\"3\"><strong>").append(myContext.getI18nString("_str_msg_sentdate")).append(" </strong>")
		      	.append(oliva.common.OlivaUtils.getDateString(msg.sentDate, myContext.lang, myContext.getI18nString("_settings.dateFormat"))).append("</font></td></tr>");
		    sb.append("<tr><td bgColor=\"#ccccff\"><font size=\"3\"><strong>").append(myContext.getI18nString("_str_msg_codepage")).append(" </strong>");
		    if(msg.cp == null || msg.cp.equals("")) {
		    	sb.append("Auto\r\n");
		    } else {
		    	sb.append("<a href=\"./pda_message?msgno=").append(msg.msgNo)
		    		.append("&msguid=").append(msguid)
		    		.append((partno == -1)?"":"&partno=" + String.valueOf(partno))
		    		.append("\"><font size=\"3\">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=\"./pda_message?msgno=").append(msg.msgNo)
							.append("&msguid=").append(msguid).append(
									(partno == -1) ? "" : "&partno="
											+ String.valueOf(partno)).append(
									"&cp=").append(pvalue).append(
									"\"><font size=\"3\">").append(pkey)
							.append("</font></a>\r\n");
				}
				sb.append("&nbsp;");
			}
			sb.append("</font></td></tr>"); 
			    
		    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=\"3\">" + 
		               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;
							if (allowHr) {
								sbCtnt.append("<hr/>");
							}
							sbCtnt.append("<p><img src=\"").append(link)
									.append("\"></p>");
							allowHr = true;
						}
					}
				}
		    }
		    sb.append("<tr><td bgColor=\"#ccccff\"><font size=\"3\"><strong>")
		    	.append(myContext.getI18nString("_str_list_size")).append(": </strong>")
		    	.append(OlivaUtils.getSizeString(msg.msgSize)).append("</font></td></tr>");
		    if(!showPics && picsHided) {
		    sb.append("<tr><td bgColor=\"#ccccff\">");
		    sb.append("<a href=\"./pda_message?msgno=").append(String.valueOf(msg.msgNo)).append("&msguid=").append(msguid).append("&partno=").append(String.valueOf(partno)).append("&cp=").append(oliva.common.OlivaUtils.nvl(msg.cp)).append("&shpics=true\"><font size=\"3\" color=\"red\">").append(myContext.getI18nString("_str_show_pics")).append("</font></a>");
		    sb.append("</td></tr>");		    		
		    }
		    sb.append("<tr><td bgColor=\"#ccccff\"><font size=\"3\"><strong>").append(myContext.getI18nString("_str_msg_content")).append("</strong></font>");
		    if(msg.isHighlyImportant()) {
		    	sb.append("<font color=\"#990033\" size=\"3\"><strong> !</strong></font>");
		    	//sb.append(" <img src=\"imptnt.gif\" width=\"16\" height=\"16\">");
		    }		          			    
		    sb.append("</td></tr>");
		    sb.append("<tr><td vAlign=\"top\" bgColor=\"#ffffff\" height=\"100%\">").append(sbCtnt.toString()).append("&nbsp;</td>");
		    sb.append("</tr>");
		    sb.append("</table>");
		    
		    pdaPane = new PdaPane();
		    pdaPane.setColor(PdaPane.COLOR_9999CC);
		    pdaPane.setContent(sb.toString());
		    pdaPage.addPane(pdaPane);		    		    

		    //Menu
		    pdaPage.addPane(menuPane);
		    
		    //Sublogo
		    pdaPane = new PdaPane();
		    pdaPane.setColor(PdaPane.COLOR_CCFF99);
		    pdaPane.setHeight("20");
		    pdaPane.setContent("<font size=\"3\" color=\"#999966\" face=\"arial, tahoma, verdana\"><strong><i>"
		    		+ myContext.getSenderDomain() + "</i></strong></font>");
		    pdaPage.addPane(pdaPane);		    		    		    
		    
		    pdaPage.show(out);

		    out.flush();
		    out.close();	    
		} catch (Exception e) {
			try {
				Context.sendErrorRedirect(this, request, response, "/pda_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 + -