`
suipian1029
  • 浏览: 57151 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

java发送短信

阅读更多
在把短信X连接到服务器COM1接口后,最好先用个java类来测试一下
Java代码
import  java.util.ArrayList;  
import  java.util.List;  
import  java.util.regex.Matcher;  
import  java.util.regex.Pattern;  
 
import  org .smslib .IOutboundMessageNotification;  
import  org .smslib .OutboundMessage;  
import  org .smslib .Service ;  
import  org .smslib .Message.MessageEncodings;  
import  org .smslib .modem.SerialModemGateway;  
 
/** 
* 短信发送测试类 
* @author mazq 

*/  
public   class  SMSUtil{  
  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);  
    }  
}  
  public   void  sendSMS(String mobilePhones,String content){  
//  System.out.println(mobilePhones+"--"+content);  
     Service  srv;  
     OutboundMessage msg;  
     OutboundNotification outboundNotification =  new  OutboundNotification();  
     srv =  new  Service ();  
//     SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 115200, "wavecom", "9600"); 
     SerialModemGateway gateway =  new  SerialModemGateway( "modem.com1" ,  "COM1" ,  115200 , "wavecom" ,  "9600" );  
     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);  
      System.out.println(phones[i]+ " == " +content);  
     }  
     srv.stopService();  
    } catch (Exception e){  
     e.printStackTrace();  
    }  
}  
  public   static   void  main(String[] args) {  
  SMSUtil util =  new  SMSUtil();  
  util.sendSMS( "1355xxxxxxx" , "测试短信" );  
}  
 


如果收到短信,则说明ok了
如果在日志中输出下面的内容,一般是说你的commons-net-1.4.1.jar或comm.jar没有配置到classpath中
org .smslib .GatewayException: Comm library exception: java.lang.reflect.InvocationTargetException
at org .smslib .modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)
at org .smslib .modem.AModemDriver.connect(AModemDriver.java:106)
at org .smslib .modem.ModemGateway.startGateway(ModemGateway.java:111)
at org .smslib .Service $1Starter.run(Service .java:227)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics