C#通过sp端口发送短信

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Text;
using  System.Net;
using  System.IO;
using  cn.sh.unicom.groupsms;
 
/// <summary>
/// Mobmsg 的摘要说明
/// </summary>
public  class  Mobmsg
{
 
     private  string  _MobNum;
     private  string  _MobMsg;
 
  public  Mobmsg()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
 
     public  Mobmsg( string  MobNum,  string  MobMsg)
     {
         this ._MobNum = MobNum;
         this ._MobMsg = MobMsg;
     }
 
     public  void  SendMsg()
     {
         if  (CheckType( this ._MobNum))
             ToMobile();
         else
             ToUnicom();
     }
 
 
     public  void  ToMobile()
     { //移动的接口
         Encoding encoding = Encoding.GetEncoding( "gb2312" );
         string  enterpriseid =  "123456" ; //企业代码
         string  accountid =  "123" ;
         string  pwd =  "yourpwd" ;
         string  postData =  "enterpriseid="  + enterpriseid +  "&accountid="  + accountid +  "&pswd="  + pwd +  "&mobs="  this ._MobNum +  "&msg="  this ._MobMsg;
         string  strUrl =  "http://211.136.163.68:8000/httpserver" ;
         byte [] data = encoding.GetBytes(postData);
         // 准备请求... 
         HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
         myRequest.Method =  "POST" ;
         myRequest.ContentType =  "application/x-www-form-urlencoded" ;
         myRequest.ContentLength = data.Length;
         Stream newStream = myRequest.GetRequestStream();
         // 发送数据 
         newStream.Write(data, 0, data.Length);
         newStream.Close();
     }
 
     public  void  ToUnicom()
     { //联通的接口
         cn.sh.unicom.groupsms.Login myLogin =  new  cn.sh.unicom.groupsms.Login();
         string  MySessionID =  "" ;
 
         myLogin.username =  "yourname" ;  //用户名123456789
         myLogin.userType =  "0" ;
         myLogin.password =  "yourpwd" ;   //密码
         LoginMes mes1 =  new  LoginMes();
         mes1.login = myLogin;
 
         SmWSImplService Binding =  new  SmWSImplService();
         OpResult Value1 =  new  OpResult();
         try
         {
             Value1 = Binding.memberLogin(mes1);
         }
         catch 
         {
             ;
         }
 
         MySessionID = Value1.sessionId; //'得到sessionid
         SendBatchSMS(Binding, MySessionID,  this ._MobMsg,  "companycode" ); //companycode为企业代号1112345
         Value1 = Binding.logout(mes1);
     }
 
     public  bool  CheckType( string  MobileNum)
     {
         string  ForeStr = MobileNum.Substring(0, 3);
         int  ForeNum = Convert.ToInt32(ForeStr);
         if  (ForeNum <= 134)
             return  false ;
         else
             return  true ;
 
     }
 
 
     public  void  SendBatchSMS(SmWSImplService Binding,  string  SessionID,  string  SmsMsg,  string  AccountID)
     {
         BatchMsg MySendSM =  new  BatchMsg();
         OpResult Value1 =  new  OpResult();
         string [] SendAddrs =  new  string [1];
         SendAddrs[0] =  this ._MobNum;       //发送号码数组    手机号码
         MySendSM.sessionId = SessionID;
         MySendSM.msgContent = SmsMsg;
         MySendSM.destAddrs = SendAddrs;
         Value1 = Binding.SendBatchMessage(MySendSM);
         MySendSM= null ;
         Value1 =  null ;
 
     }
}

在调用联通的接口的时候还要添加一个 http://groupsms.unicom.sh.cn/websms/services/SmWSImpl?wsdl  webservice

然后我们可以在其它页面使用
Mobmsg msg = new Mobmsg("要发送信息的手机号码","要发送的内容");
msg.SendMsg();

你可能感兴趣的:(C#通过sp端口发送短信)