{$Wap} | 网站首页 | 电脑资料库 | wap资源库 | 建站资源库 | 茂名合租网 | 下载中心 | 美图资源库 | 茂名资源网商城 | 
广告载入中...
〒 您现在的位置: 茂名资源网 >> wap资源库 >> wap教程 >> 高级教程 >> wap资源库正文
构建WAP邮件发送服务器 【字体:
作者:佚名    wap资源库来源:yesky      点击数:    更新时间:2006-2-22
广告载入中...

WAP(无限通讯协议)是在数字移动电话,PDA和计算机之间进行通讯的一种标准。因此构建WAP邮件发送服务器将具有很广泛的应用前景和很高的商业价值。下面就是一个使用Java编写的Servlet程序,通过一些简单的设置,你就可以使用它从WAP手机或任何支持WML的PDA上发送Email了。   用法是:   http://your_host/servlet/WapMailer?template_file   解释:   Template文件是一个描述邮件设置和模板的文本文件。你可以在这个文件中设置SMTP服务器的域名和端口,以及信件的相关内容的参数。根据Template文件设置的信息,WAP服务器将动态生成相应 的WML页面。   在描述你的信件的时候,也可以使用变量: $from,$to, $subject,$body.这些变量会被提交的表单的相应内容代替。当你在WML中提交表单时,邮件也将动态生成。你也可以粘贴一些文件,比如公司的价目表、你的履历表等等。   Template文件可以采用非常自由的格式,但是每一个参数的描述都必须另起一行。   现把参数列在下面:   Mailhost:SMTP服务器名,必须填写。   PORT:SMTP服务器端口。   Domain: 域名,必须填写。   From: 发信人地址。   T 收信人地址。   Subject: 邮件主题。   Body: 邮件内容。   Attach: 设置粘贴的文件列表。   Encoding: 字符集编码,默认值为ISO-8859-1。   例如:最简单的设置文件:   Mailhost:smtp.abcdef.com   Domain:abcdef.com   Port:25   From:$from   T$to   Subject:$subject   Body:$body 又如:对于某些短消息服务,可以描述To为T$to@your_service_host ,并且在邮件表单收信人地址中仅写对方的手机号码。你还可以给任何域设置常量值,如:Tsupport@abcdef.com,在生成的WML表单中这个域就将被省略。   在描述body参数时,也可以使用现成的文本文件,方法是在body中加入:   $file=path_to_some_text_file ,该文件的内容将被加进信中。当你设置好粘贴文件后,你就可以使用文件列表了。文件名应该用逗号分隔开。 需注意:由于手机及PDA中的WAP是全球应用的,因此标准字符集编码采用ISO-8859-1,而我们平时使用汉字是用GB2312编码,不经过内码转化将会出现乱码,造成手机用户无法阅读,因此需要把编码设置成GB2312。 源程序:WapMailer.java,将其编译成.class文件   import java.io.*;   import java.util.*;   import javax.servlet.*;   import javax.servlet.http.*;   public class WapMailer extends HttpServlet   {    private Hashtable getTemplate(String s)    {     Hashtable hashtable = (Hashtable)cfgs.get(s);      if(hashtable == null)       {        hashtable = new Hashtable();        readTemplateFile(s, hashtable);        cfgs.put(s, hashtable);       }      else      {       File file = new File(s);       String s1 = (String)hashtable.get(edt);       String s2 = String.valueOf(file.lastModified());      if(!s1.equals(s2))      {       hashtable = new Hashtable();       readTemplateFile(s, hashtable);       cfgs.remove(s);       cfgs.put(s, hashtable);       }      }     return hashtable;    }   public void init(ServletConfig servletconfig)   throws ServletException   {    super.init(servletconfig);    NEWLINE = System.getProperty(line.separator);    cfgs = new Hashtable();    System.out.println(WAP Mailer);   } public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse                    httpservletresponse)  throws ServletException, IOException  {  boolean flag = true;  boolean flag1 = true;  boolean flag2 = true;  boolean flag3 = true;  String s5 = HttpUtils.getRequestURL(httpservletrequest).toString();  int i;  if((i = s5.indexOf(?)) > 0)  s5 = s5.substring(0, i);  String s = httpservletrequest.getQueryString();  httpservletresponse.setContentType(text/vnd.wap.wml);  PrintWriter printwriter = httpservletresponse.getWriter();  printwriter.println();  if(s == null)  {  printwriter.println();  printwriter.println();  printwriter.println( );  printwriter.println(WapMailer: Cant read template file);  printwriter.println( );  printwriter.println();  printwriter.println();  printwriter.flush();  printwriter.close();  return;  }  Hashtable hashtable = getTemplate(s);  if(hashtable.size() == 0)  {  printwriter.println();  printwriter.println();  printwriter.println( );  printwriter.println(WapMailer: Cant read template file);  printwriter.println( );  printwriter.println();  printwriter.println();  printwriter.flush();  printwriter.close();  return;  }  flag = usedParameter($from, hashtable);  flag1 = usedParameter($to, hashtable);  flag2 = usedParameter($subject, hashtable);  flag3 = usedParameter($body, hashtable);  String s1;  if((s1 = (String)hashtable.get(FROM)) == null)  s1 = ;  else  if(s1.indexOf($) >= 0)  s1 = ;  String s2;  if((s2 = (String)hashtable.get(TO)) == null)  s2 = ;  else  if(s2.indexOf($) >= 0)  s2 = ;  String s3;  if((s3 = (String)hashtable.get(SUBJECT)) == null)  s3 = ;  else  if(s3.indexOf($) >= 0)  s3 = ;  String s4;  if((s4 = (String)hashtable.get(BODY)) == null)  s4 = ;  else  if(s4.indexOf($) >= 0)  s4 = ;  printwriter.println();  printwriter.println();  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(); } [1]  [2] [3]  下一页  

[1]

收藏此页到:[天极网摘]  [和讯网摘]  [新浪VIVI]  [365key]  [博采中心]  [网摘中国]  [5Seek]  [狐摘 ]  [365Fav]  [热门 ]  [人人网摘]  [我摘]  [YouNote] 请留意一下广告
广告载入中...

注明
☉本站所有软件和资料大多来自互联网收集整理,仅供学习和研究使用。如有侵犯您版权的,请来信指出,本站将立即改正。
邮址:diyb208%21cn.com请将%换成@
☉下载的压缩包如需要密码的,密码统一为:www.0668idc.com
☉茂名资源网不承担用户因使用这些下载资源和技术教程对自己和他人造成任何形式的损失或伤害。
☉资源下载请使用[FlashGet]下载,否则可能出现下载不了的情况;解压缩请使用[Winrar]。

  • 上一个wap资源库:

  • 下一个wap资源库:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:落叶有声
    管理员通信方式:信箱地址:diyb208@21cn.com QQ:84805309