跟阿根一起學Java Web開發四:郵件發送與簡訊發送的實現,java簡訊發送
郵件發送與簡訊發送常見於使用者註冊認證以及系統訊息提示功能模組,但實現代碼過於繁瑣;使用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剛註冊的帳號無法發送,好像需要過兩個月後才可以使用,可以自行搭建一個郵件服務環境,進行測試。
javaweb開發郵件發送及驗證使用者
每個使用者記錄定義一個標記a,a只有是否2種情況。預設一個使用者初始a標記都是否,當使用者點擊驗證成功後,把a=否改成a=是
java web怎實現在自己做的系統中郵件發送或者通訊
如果是做普通的收發訊息,就做個簡單的查庫那種就可以了
如果要做mail,要有個mail伺服器,然後利用SMTP和POP3協議進行收發操作
如果是即時通訊 可以在頁面裡潛入socket程式,也可以做即時動態重新整理那種,ajax