跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

邮件发送与短信发送常见于用户注册认证以及系统消息提示功能模块,但实现代码过于繁琐;使用JSPGen后,深感其对邮件发送、短信发送的封装让复杂活变得简单很多。

一、基础配置

1、jspgen-config.xml

在框架基础配置文件中,找到mail节点及sms节点,按如下配置:

    <!-- 邮件服务 -->
    <mail status="true">
       <smtp>
           <!-- 发送类型(SMTP MX) -->
           <type>SMTP</type>
           <server>smtp.163.com</server>
           <port>25</port>
           <email>[email protected]</email>
           <name>JSPGen官网</name>
           <username>jspgen</username>
           <password>jspgen</password>
           <!-- 内容格式(text html url) -->
           <format>html</format>
           <!-- 内容签名 -->
           <sign>JSPGen-让Java(Web)软件开发变得更敏捷! www.JSPGen.com</sign>
       </smtp>
    </mail>

    <!-- 短信服务(http) -->
    <sms status="true">
       <!-- 提交地址及方式(GET POST) -->
       <url>发送地址</url>
       <method>GET</method>
       <charset>UTF-8</charset>
       <username>
           <key>name</key>
           <value>jspgen</value>
       </username>
       <password>
           <key>password</key>
           <value>jspgen</value>
       </password>
       <!-- 是否支持批量发送 -->
       <mobile batch="false">
           <key>mobile</key>
           <gap>;</gap>
       </mobile>
       <content>
           <key>msg</key>
       </content>
       <time>
           <key>dtime</key>
           <!-- 时间格式,为空则为Long型时间戳 -->
           <format>yyyy-MM-dd HH:mm:ss</format>
       </time>
       <!-- 返回数据 -->
       <return>
           <!-- 返回格式(text xml json) -->
           <format>text</format>
           <!-- 返回关键字,格式为xml/json时有用 -->
           <key>status</key>
           <!-- 返回成功标识 -->
           <value>0</value>
       </return>
       <!-- 内容签名 -->
       <sign>【JSPGen】</sign>
    </sms>

2、SendAction.java

package demo.action;
import grapes.Dates;
import grapes.Files;
import grapes.Grapes;
import grapes.tools.Browser;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import jspgen.action.Action;

/**
 * Action类:邮件发送与短信发送
 *
 * @author JSPGen
 * @copyright (c) JSPGen.com
 * @created 2013年03月
 * @email [email protected]
 * @address www.jspgen.com
 */
public class SendAction extends Action {
       /**
        * 默认方法
        */
       @Override
       public String execute() {
              return "mail";
       }

       /**
        * 发送邮件提交
        */
       public String mail () {
              boolean isflag = false;
              Long time = Dates.getTimeMillis();
              String to = getParameter("to"); // 接收表单值(表单名称:to)
              isflag = sendMail(to, getParameter("subject"), getParameter("content"), time); // 发送中
              if(!isflag){
                     addActionError("发送失败!");
                     return ERROR;
              }
              addActionMessage("发送成功!");
              return SUCCESS;
       }

       /**
        * 发送短信提交
        */
       public String sms() {
              boolean isflag = false;
              Long time = Dates.getTimeMillis();
              String to = getParameter("to"); // 接收表单值(表单名称:to)
              isflag = sendSMS (to, getParameter("content"), time); // 发送中
              if(!isflag){
                     addActionError("发送失败!");
                     return ERROR;
              }
              addActionMessage("发送成功!");
              return SUCCESS;
       }
}

3、mail.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>邮件</title>
</head>
<body>
<h2>邮件发送</h2>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  <form action="send!mail.gen" method="post" name="form" id="form">
    <tr>
      <td width="135" height="35" align="right" bgcolor="#FFFFFF">收件地址:</td>
      <td width="362" bgcolor="#FFFFFF"><input type="text" name="to" /></td>
    </tr>
    <tr>
      <td width="135" height="35" align="right" bgcolor="#FFFFFF">信件主题:</td>
      <td width="362" bgcolor="#FFFFFF"><input type="text" name="subject" /></td>
    </tr>
    <tr>
      <td width="135" height="93" align="right" valign="middle" bgcolor="#FFFFFF">信件内容:</td>
      <td width="362" valign="middle" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5"></textarea></td>
    </tr>
    <tr>
      <td height="50" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF">
        <input name="redirectUrl" type="hidden" id="redirectUrl" value="send.gen" />
        <input type="submit" name="button" id="button" value="发送" />
                      
        <input type="reset" name="button2" id="button2" value="重置" /></td>
    </tr>
  </form>
</table>
<h2>短信发送</h2>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  <form action="send!sms.gen" method="post" name="form2" id="form2">
    <tr>
      <td width="135" height="35" align="right" bgcolor="#FFFFFF">手机号码:</td>
      <td width="362" bgcolor="#FFFFFF"><input name="to" type="text" id="to" /></td>
    </tr>
    <tr>
      <td width="135" height="93" align="right" valign="middle" bgcolor="#FFFFFF">短信内容:</td>
      <td width="362" valign="middle" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5" id="content"></textarea></td>
    </tr>
    <tr>
      <td height="50" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF"><input name="redirectUrl" type="hidden" id="redirectUrl" value="send.gen" />
        <input type="submit" name="button3" id="button3" value="发送" />
                      
        <input type="reset" name="button3" id="button4" value="重置" /></td>
    </tr>
  </form>
</table>
</body>
</html>

二、测试

浏览器中直接输入:http://localhost:8080/jspgensdf/send.gen

注意:163刚注册的账号无法发送,好像需要过两个月后才可以使用,可以自行搭建一个邮件服务环境,进行测试。

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

时间: 07-08

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现的相关文章

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

Java Web开发及应用软件方向的学习计划

从接触计算机以来,一直抱有很浓厚的兴趣.我并不擅长与人交际,与机器对话可能更有性格方面的优势.虽然我很想做出一些改变,但总得需要时间和历练,暂时也只能这样了~ 一直很向往代码的神秘,在梦之站待过两年时间后更是对程序猿的生活抱有幻想,我觉得我适合做这件事情,也很有兴趣.中途我去为考研准备了一段时间,但后来我发现我对读研似乎没有很大的愿望,不是因为考研难,只是遵循了自己真正的想法.没有更高的学历,又出身一个不太牛逼的一本,将来的生活是无法预测的,我根本不确定是否能像某人说得那样走向成功.但现实如此,

Java Web 开发中路径相关问题小结

Java Web开发中路径问题小结 (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 Eclipse中目录结构如图2所示: 图2 那么针对这个站点的几个基本概念表述如下: 1. web站点的根目录:http://localhost:8080/ 2. web应用程序的的根目录:http://localhost:8080/test/ 3.同级目录:http://localhost:8080/test/articles/article1.jsp和http://

Java Web开发笔记(2016-5-6 11:13、2016-5-10 11:13、2016-5-12 14:58)

http://localhost:8080/EquipmentSys/equipment/findEquipStateByEquipmentNumber.html?DEVEICEID=04:e6:76:df:f0:94 返回 1,1 设备状态(1运营,2维护,3锁定),是否更新的开关IsUpdate={1,0}(游戏APK更新条件:IsUpdate=1而且版本号不一样) /** * 接口 * @param request * @return * @throws UnsupportedEncodi

《Java web 开发实战经典》读书笔记

去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站,但是由于掌握的技术不够,最后做出来的东西勉强能应付答辩.所以,想抽出时间继续昨晚这个项目.当时,我有些找工作的同学,已经在北京经历了找工作的艰辛,所以他们时常会举办一些小讲座,给学弟学妹传授找工作的经验,我也从这上面学到不少东西.<Java web 开发实战经典>这本书便是以为找工作的同学浩哥给

2017年Java web开发工程师成长之路

详情请交流  QQ  709639943 00.2017年Java web开发工程师成长之路 00.R语言速成实战 00.R语言数据分析实战 00.Python+Django+Ansible Playbook自动化运维项目实战 00.Java深入微服务原理改造房产销售平台 00.Python3入门机器学习 经典算法与应用 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标

Java web开发路线--Java学习资料汇总

Java web开发是什么? 先来说说java体系,包含:javaSE.javaEE.javaME,其实目前关注主要是javaEE,但学些javaEE必须先学习javaSE(因为这个是java基础).Java web开发其实是应用javaEE实现web应用的开发,是用Java技术来解决相关web互联网领域的技术总和. web开发主要包括前端开发和后端开发,前端主要是HTML.CSS.JS等相关技术,后端技术主要有JavaEE技术.数据库技术.文件存储技术等.java体系比较庞大,也是很多人比较迷

《Java Web开发实战》——Java工程师必备干货教材

一年一度毕业季,又到了简历.offer漫天飞,失望与希望并存的时节.在IT行业,高校毕业生求职时,面临的第一道门槛就是技能与经验的考验,但学校往往更注重学生的理论知识,忽略了对学生实践能力的培养,因而导致很多求职者在面试中败下阵来.在毕业生所学知识普遍脱离职场实战的大趋势下,<Java Web开发实战>应运而生,此教材由千锋教研院高教产品研发部编著.清华大学出版社出版,将理论应用于实践,切实提高学生的实战能力. 整合多年实战案例 助力Java人才快速成长 <Java Web开发实战>

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前