您的位置:首页 > 编程语言 > Java开发

通过java调用短信猫发短信

2017-08-15 14:23 316 查看
原地址:https://www.oschina.net/code/snippet_225735_35383

具体的操作步骤如下:

1、把smslib-3.3.0b2.jar、comm.jar与log4j-1.2.11.jar,放入到工程的lib中;

2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下;

3、把win32com.dll放到%JAVA_HOME%/jre/bin下;

4  把comm.jar放到%JAVA_HOME%/jre/ext下

注意:路径放错,调用起来就会报错;JDK的版本,用的版本是jdk-1_5_0_04。

package com.alonely.notecat;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Outbou、ndMessage;
import org.smslib.Service;
import org.smslib.Message.MessageEncodings;
import org.smslib.modem.SerialModemGateway;

public class SendMessage {
public class OutboundNotification implements IOutboundMessageNotification {
public void process(String gatewayId, OutboundMessage msg) {
System.out.println("Outbound handler called from Gateway: "
+ gatewayId);
System.out.println(msg);
}
}
@SuppressWarnings("deprecation")
public void sendSMS(String mobilePhones, String content) {
Service srv;
OutboundMessage msg;
OutboundNotification outboundNotification = new OutboundNotification();
srv = new Service();
SerialModemGateway gateway = new SerialModemGateway("modem.com3",
"COM3", 9600, "wavecom", ""); //设置端口与波特率
gateway.setInbound(true);
gateway.setOutbound(true);
gateway.setSimPin("0000");
gateway.setOutboundNotification(outboundNotification);
srv.addGateway(gateway);
System.out.println("初始化成功,准备开启服务");
try {
srv.startService();
System.out.println("服务启动成功");
String[] phones = mobilePhones.split(",");
for (int i = 0; i < phones.length; i++) {
msg = new OutboundMessage(phones[i], content);
msg.setEncoding(MessageEncodings.ENCUCS2); // 中文
srv.sendMessage(msg);
}
srv.stopService();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
SendMessage sendMessage = new SendMessage();
sendMessage.sendSMS("您要发送的手机号", "您要发送的内容!");
}
}

如果本公司有自己的短信平台那就简单多了,有相应的接口直接提交xml报文就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: