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

来源:互联网 发布:大陆网络剧 ptt评论 编辑:程序博客网 时间:2024/04/29 23:36

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

在短信发送模块中:支持两种方式,分别为第三方发送、本地平台发送,这里我们主要演示第三方发送方式的配置情况及实现方式(采用本地平台发送时无需进行配置,根据短信发送接口文件重写对应实现类即可)。

一、基础配置

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

    <!-- 邮件服务 -->    <mail status="true">       <smtp>           <!-- 发送类型(SMTP MX) -->           <type>SMTP</type>           <server>smtp.163.com</server>           <port>25</port>           <email>jspgen@163.com</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>

 

二、代码实现

1、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 jspgen@163.com * @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;       }}

 

2、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刚注册的账号无法发送,好像需要过两个月后才可以使用,可以自行搭建一个邮件服务环境,进行测试。

 

 

 

1 0