`
thtwin
  • 浏览: 161045 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java操作手机发送短信

    博客分类:
  • J2SE
阅读更多
作者:曹祺
Blog: http://blogs.sun.com/greysh
Web: http://www.greysh.com
Email: Qi.Cao@Sun.com
本文链接:
http://developers.sun.com.cn/blog/functionalca/entry/java%E6%93%8D%E4%BD%9C%E6%89%8B%E6%9C%BA%E5%8F%91%E9%80%81%E7%9F%AD%E4%BF%A1
本文附件下载:
http://developers.sun.com.cn/blog/functionalca/resource/Greysh/FCA_Greysh_Sms_javacomm20-win32.zip
http://developers.sun.com.cn/blog/functionalca/resource/Greysh/FCA_Greysh_Sms_slf4j.zip
http://developers.sun.com.cn/blog/functionalca/resource/Greysh/FCA_Greysh_Sms_smslib-v3.4.2.zip
http://developers.sun.com.cn/blog/functionalca/resource/Greysh/FCA_Greysh_Sms_sms-source.zip

难度:入门

参考Uglytroll's Blog: http://uglytroll.ycool.com/post.3226216.html
SMSLIB官方:http://www.smslib.org/
企业短信预警系统,一般都包含很多外围硬件解决方案,例如CTI,duan信猫,远程射频,本教程采用SMSLIB操作索爱W810C发送短信作为预警系统

1.环境搭建
2.HelloWorld


1.环境搭建
SMSLIB有两种发送策略,如果是数量很少的,可以采用直接发送,即触发一个提交按钮后进行发送,如果是数据量很大,则采用服务器版,即

先把要发送的电话号码和内容存到数据库中,然后用一个监听器去不断的扫描数据库的发送队列,然后批量发送,本教程出于演示目的,故只

写出直接发送的示例,感兴趣的朋友可以去smslib官方查看smsserver发送模式

smslib底层调用的是win32com去发送AT指令,需要的jar包有smslib-3.4.2.jar(写此篇教程时最新的jar包),同时还需要win32com(本人采用

的windows xp系统)和slf4j,需要slf4j以下jar包
slf4j-api-1.5.6.jar
slf4j-jcl-1.5.6.jar
slf4j-jdk14-1.5.6.jar
slf4j-log4j12-1.5.6.jar
如果是windows系统需要Java Comm v2 is for Win32 systems
可以在http://smslib.googlecode.com/files/javacomm20-win32.zip
如果是其他系统,可以装Java Comm v3或者RxTx
把commm.jar放在JDK里面的JRE的LIB/EXT目录下和非JDK目录的JRE的LIB/EXT(虽然JDK里面自带JRE
,但是一般安装时候会默认在与JDK同级目录下安装另一个JRE,这个里面的lib/ext里面也要放)
然后把 javax.comm.properties 放在JDK里面的JRE的lib目录和非JDK目录的lib目录
最后把win32com.dll放在JDK里面的JRE的bin目录和非JDK目录的bin目录

目前支持的手机型号有
Billionton: PCMCIA PCGPRSQ-B.
EagleTec: GSM modems.
Fargo Maestro 20.
ITengo: 3000, WM1080A.
Janus: GSM864Q.
Nokia: 6070, 6100, 6210, 6310, 6310i, 6230, 6230i, 6681, 8250, 8310, 6610, 6800, 7210, 6810, 7250i, 6103, 6020, 3220, 6822,

5140, 5140i, 30 (terminal).
Multitech: Multimodem GPRS (SMSLib for Java can also drive the Multitech Multimodem via its IP port).
Sharp: GX30, GX32.
Siemens: MC35i, M35, M50, M65, C45, TC35i, C65, M55, TC65t.
SIMCOM Ltd: SIMCOM_SIM100S.
Sony Ericsson: K300i, SE K800i, K700i, K750i, SE W850i, W880i, GC89, Z550a, W800, W580i, W810, i320, GT48.
Ubinetics: GDC201.
Wavecom: M1206B, M1306B, WMOD2 Wismo, Fastrack Supreme 10, WISMOQCDMA CDMA.
Huawei: E220 (may require the forced setting of SMSC address), E230.
Motorola: V3.
Teltonika: ModemUSB.
Motorola: V3, L6.
Samsung: D520.
Samba: 55-SET GSM/GPRS USB modem.

2.HelloWorld
发短信的流程是创建一个org.smslib.Service,然后设定信猫网关,开启服务,发送即可
本例子做了一次循环发送,只要指定电话号码和短信内容即可

public class SendMessage {
public void doIt(String phone, String content) throws IOException,
   InterruptedException, SMSLibException {
  Service srv;
  OutboundMessage msg;
  srv = new Service();
  SerialModemGateway gateway = new SerialModemGateway("modem.com1",
    "COM9", 57600, "Sony Ericsson", "W810");//采用Sony Ericsson的W810c手机发送
  gateway.setInbound(true);
  gateway.setOutbound(true);
  gateway.setSimPin("0000");
  srv.addGateway(gateway);
  srv.startService();
  msg = new OutboundMessage(phone, content);
  srv.sendMessage(msg);
  long time = System.currentTimeMillis();
  while (System.currentTimeMillis() - time < 2) {}//暂停两秒再发送
  srv.stopService();
}

public static void main(String args[]) throws IOException,
   InterruptedException, SMSLibException {
  SendMessage app = new SendMessage();
  int i = 1;
  while (i < 4) {
   app.doIt("139********", "Hello Greysh");//139********改为你想发送的电话号码
   i++;
  }
}
}
分享到:
评论

相关推荐

    基于Java的发送短信验证码的设计与实现.rar

    2.请求验证码接口,接收参数电话号码,生成验证码code1,拼接短信信息,发送给手机,返回json格式数据给前端状态 3.用户接收短信,将验证码code2输入,还有各种参数的输入,发起注册请求 4.前端发起注册请求,带...

     一.JAVA程序传送到手机的方法:

     多普达手机采用的是Windwos操作系统,现以多普达575为例,来说明JAVA游戏 安装方法,其他Windwos操作系统的手机请参考该文。  移动定制的Windwos手机内置了百宝箱程序,其使用方法和其他手机的方法一样, 在此就...

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包4

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    Java源码包100个设计实例.zip

    Java 组播组中发送和接受数据实例 Java 飞机订票.rar Java 高考信息管理系统 SQL数据库.rar Java (Jsp)制作简单的表单程序.rar Java+ajax写的登录实例.rar JAVA+JSP的聊天室.rar Java+MsSQL超市进销存(毕业设计及...

    java源码包2

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    免费短信软件zozoc Symbian S60v2

    只要您会发短信,就能用做做客! 短信是手机上最常用的应用,操作非常简单。做做客独创的技术,使得收发zozoc短信和标准短信同样方便快捷!收件箱,发件箱,草稿箱设置也同经典短信一样。只是短信上多了漂亮的zozoc的...

    java开发短信验证源码-qcloudsms_java:QcloudsmsJavaSDK

    指定模板单发短信 指定模板群发短信 拉取短信回执和短信回复状态 Note 短信拉取功能需要联系腾讯云短信技术支持(QQ:3012203387)开通权限,量大客户可以使用此功能批量拉取,其他客户不建议使用。 海外短信 海外短信...

    Java JNI完全手册

    最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。  首先引用一篇文章...

    关于JAVA的jmail组件

    可以独立运行在各种装有java运行环境的操作系统之上。该软件对指定邮件服务器的邮箱进行监控,可以实现邮件到达通知、直接用邮件发送短信息、发送邮件的同时发送短消息、短信群发等功能,将信息的传递从桌面上延伸到...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    阿里云java短信验证码源码-ruoyi:若依二开

    阿里云java短信验证码源码 平台简介 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站...

    API_Demo_Java.zip

    第一步:确保java环境就绪 第二步:展开压缩包,使用编辑器(如IntelliJ IDEA、...第三步:打开 APIDemo_java\src\com\miaodiyun\httpapidemo\SmsApiHttpSendTest.java 文件,在编辑器执行RUN操作,查看执行结果

    Mail2MO-OE2MO(OE短信插件)

    10、 显示发短信人的手机号码:如果用户的手机已经被保存在对方的手机中,那么通过此服务发出的短信,在接受者的手机上一般显示为发送者的姓名,而非陌生的号码。 11、 不受任何网关限制:本服务使用邮件端口发送...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

Global site tag (gtag.js) - Google Analytics