构建WAP邮件发送服务器 |
| 作者:郑伟 来源:yesky 发布时间:2005-11-29 11:15:58 |
|
"); printwriter.println(""); printwriter.println(""); if(flag) printwriter.println(""); else printwriter.println(""); if(flag1) printwriter.println(""); else printwriter.println(""); if(flag2) printwriter.println(""); else printwriter.println(""); if(flag3) printwriter.println(""); else printwriter.println(""); printwriter.println(""); printwriter.println(""); if(flag) printwriter.println(" From: "); if(flag1) printwriter.println(" T emptyok=\"false\"/> "); if(flag2) printwriter.println(" Subject: "\" emptyok=\"true\"/> "); if(flag3) printwriter.println(" Message: "\" emptyok=\"false\"/> "); printwriter.println(""); printwriter.println(""); printwriter.flush(); printwriter.close(); } public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException { PrintWriter printwriter = null; Hashtable hashtable = null; Hashtable hashtable1 = null; String s = httpservletrequest.getQueryString(); httpservletresponse.setContentType("text/vnd.wap.wml"); printwriter = httpservletresponse.getWriter(); printwriter.println(""); if(s == null) { printwriter.println(""); printwriter.println(""); printwriter.println(" "); printwriter.println("WapMailer: Can't read template file"); printwriter.println(" "); printwriter.println(""); printwriter.println(""); printwriter.flush(); printwriter.close(); return; } hashtable1 = getTemplate(s); if(hashtable1.size() == 0) { printwriter.println(""); printwriter.println(""); printwriter.println(" "); printwriter.println("WapMailer: Can't read template file"); printwriter.println(" "); printwriter.println(""); printwriter.println(""); printwriter.flush(); printwriter.close(); return; } if(hashtable1.get("PORT") == null || hashtable1.get("FROM") == null || hashtable1.get("TO") == null || hashtable1.get("MAILHOST") == null || hashtable1.get("DOMAIN") == null) { printwriter.println(""); printwriter.println(""); printwriter.println(" "); printwriter.println("WapMailer: Can't send mail. Check template file"); printwriter.println(" "); printwriter.println(""); printwriter.println(""); printwriter.flush(); printwriter.close(); return; } hashtable = new Hashtable(); String s1; for(Enumeration enumeration = httpservletrequest.getParameterNames(); enumeration.hasMoreElements(); hashtable.put(s1.toUpperCase(), decodeString(httpservletrequest.getParameter(s1), httpservletrequest.getCharacterEncoding(), (String)hashtable1.get("ENCODING")))) s1 = (String)enumeration.nextElement(); boolean flag = letterToNet(hashtable, hashtable1); printwriter.println(""); printwriter.println(""); printwriter.println(" "); if(flag) printwriter.println("WapMailer: your message has been send"); else printwriter.println("WapMailer: Can't send mail"); printwriter.println(" "); printwriter.println(""); printwriter.println(""); printwriter.flush(); printwriter.close(); } public String getServletInfo() { return "WapMailer mailt waynezheng@chinaren.com"; } private boolean letterToNet(Hashtable hashtable, Hashtable hashtable1) { smtpMail smtpmail = new smtpMail(); String s1 = prepareString((String)hashtable1.get("MAILHOST"), hashtable); String s2 = prepareString((String)hashtable1.get("DOMAIN"), hashtable); int i; try { i = Integer.parseInt(prepareString((String)hashtable1.get("PORT"), hashtable)); } catch(Exception _ex) { return false; } if(s1 == null) return false; String s; String s3; if((s = (String)hashtable1.get("FROM")) == null) s3 = (String)hashtable.get("FROM"); else if(s.indexOf("$") < 0) s3 = (String)hashtable.get("FROM"); else s3 = prepareString(s, hashtable); String s4; if((s = (String)hashtable1.get("TO")) == null) s4 = (String)hashtable.get("TO"); else if(s.indexOf("$") < 0) s4 = (String)hashtable.get("TO"); else s4 = prepareString(s, hashtable); if(smtpmail.open(s1, i) != 1) return false; smtpmail.setDomain(s2); smtpmail.setFrom(s3); smtpmail.setTo(s4); if((s = (String)hashtable1.get("SUBJECT")) == null) s = (String)hashtable.get("SUBJECT"); else if(s.indexOf("$") < 0) s = (String)hashtable.get("SUBJECT"); else s = prepareString(s, hashtable); smtpmail.addHeader("Subject", s); if((s = (String)hashtable1.get("CC")) == null) s = ""; else s = prepareString(s, hashtable); if(s.length() > 0) smtpmail.addHeader("Cc", s); if((s = (String)hashtable1.get("BODY")) == null) s = (String)hashtable.get("BODY"); else if(s.indexOf("$") < 0) s = (String)hashtable.get("BODY"); else s = prepareString(insertFiles(s), hashtable); smtpmail.addData(s); if((s = (String)hashtable1.get("ATTACH")) != null) { s = prepareString(s, hashtable); for(StringTokenizer stringtokenizer = new StringTokenizer(s, " ,"); stringtokenizer.hasMoreTokens(); smtpmail.addAttachment(s)) s = stringtokenizer.nextToken(); } if(smtpmail.transmit() != 1) { return false; } else { smtpmail.close(); return true; } } private String insertFiles(String s) { String s1 = s.toUpperCase(); int i; if((i = s1.indexOf("$FILE=")) < 0) return s; String s2; if(i == 0) s2 = ""; else s2 = s.substring(0, i) + NEWLINE; s1 = s.substring(i + "$FI |
| [] [返回上一页] [打 印] |
|
文章评论 |
