JAVA實現短信群發的步驟:
創新互聯建站專注于碌曲企業網站建設,響應式網站,商城系統網站開發。碌曲網站建設公司,為碌曲等地區提供建站服務。全流程按需規劃網站,專業設計,全程項目跟蹤,創新互聯建站專業和態度為您提供的服務
1、使用第三方短信平臺服務商,接入短信服務;
2、調用短信提交頁面發送請求;
3、服務器向第三方短信平臺提交發送請求;
4、短信平臺通過運營商將短信下發至用戶的手機上。
以下是秒賽短信平臺JAVA短信驗證碼接口代碼示例
package test;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.lang3.StringUtils;
public class Apis {
// 短信發送接口的http地址,請咨詢客服
private static String url = “xxxxxxxxxxxxxxxxxxxxxxxxxxxx”;
// 編碼格式。發送編碼格式統一用UTF-8
private static String ENCODING = “UTF-8”;
public static void main(String[] args) throws IOException, URISyntaxException {
// 賬號
String account = “************************”;
// 密碼
String pswd = “************************”;
// 修改為您要發送的手機號,多個用,分割
String mobile = “13*********”;
// 設置您要發送的內容
String msg = “【秒賽科技】您的驗證碼是:1234”;
// 發短信調用示例
System.out.println(Apis.send(account,pswd, mobile, msg));
}
/**
* 發送短信
*
* @param account
* ? ? ? ? ? ?account
* @param pswd
* ? ? ? ? ? ?pswd
* @param mobile
* ? ? ? ? ? ?手機號碼
* @param content
* ? ? ? ? ? ?短信發送內容
*/
public static String send(String account,String pswd, String mobile, String msg) {
NameValuePair[] data = { new NameValuePair(“account”, account),
new NameValuePair(“pswd”, pswd),
new NameValuePair(“mobile”, mobile),
new NameValuePair(“msg”, msg),
new NameValuePair(“needstatus”, “true”),
new NameValuePair(“product”, “”) };
return doPost(url, data);
}
/**
* 基于HttpClient的post函數
* PH
* @param url
* ? ? ? ? ? ?提交的URL
*
* @param data
* ? ? ? ? ? ?提交NameValuePair參數
* @return 提交響應
*/
private static String doPost(String url, NameValuePair[] data) {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);
// method.setRequestHeader(“ContentType”,
// “application/x-www-form-urlencoded;charset=UTF-8”);
method.setRequestBody(data);
// client.getParams()。setContentCharset(“UTF-8”);
client.getParams()。setConnectionManagerTimeout(10000);
try {
client.executeMethod(method);
return method.getResponseBodyAsString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
方法一:
1.web.xml中配置listener
listener
listener-class
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
/listener-class
/listener
2.創建listener
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
@Override
public void contextInitialized(ServletContextEvent sce) {
timer = new Timer(true);
//設置任務計劃,啟動和間隔時間
timer.schedule(new MyTask(), 0, 3*60*1000);
//3分鐘
//timer.schedule(new MyTask(), 0, 3*60*1000);
//在1秒后執行此任務,每次間隔2秒
//timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.創建啟動的類MyTask
import java.util.Date;
import java.util.TimerTask;
public class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("call at " + (new Date()));
}
}
方法二:
spring 下實現定時工作的調度框架quartz
· 1。從下載quartz的開源包
quartz-1.7.3.tar.gz
3.07M
· 2。從quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到項目的classpath下
(放到webroot/WEB-INF/lib)下
· 3。定義一個需要時間調度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("數據備份任務啟動");
System.out.println("...");
System.out.println("數據備份任務完成");
}
}
· 4。剩余的工作就都在spring xml文件里完成了
!-- 被調度的bean --
bean id="job1" class="com.machome.quartz.CustomJob1"/bean
!-- 定義任務對象 --
bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
!-- 被調度的bean --
property name="targetObject"
ref bean="job1" /
/property
!-- 被調度的bean中的被調度的方法 --
property name="targetMethod"
valueonTimeWork/value
/property
/bean
!-- 定義觸發對象 --
bean id="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean"
!-- 任務對象 --
property name="jobDetail"
ref bean="jobtask1" /
/property
!-- cron表達式 --
property name="cronExpression"
value10,15,20,25,30,35,40,45,50,55 * * * * ?/value
/property
/bean
!-- 調度對象 --
!-- 如果將lazy-init='false'那么容器啟動就會執行調度程序 --
bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
!-- 觸發對象 --
property name="triggers"
list
ref bean="trigger1" /
/list
/property
/bean
· 5。 將spring 項目部署到TOMCAT或JBOSS服務器上
deploy項目
重啟TOMCAT server
· 6。看結果:
cron表達式參考:Quartz的cron表達式
是要群發短信,給不特定的人發短信,還是說給自己發短信,比如服務器故障了給自己發通知短信?
本文名稱:短信群發代碼(java) 群發短信源碼
網站路徑:http://vcdvsql.cn/article32/doiehpc.html
成都網站建設公司_創新互聯,為您提供網站策劃、網站建設、軟件開發、自適應網站、網站收錄、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯