我现在做的一个项目·要用 短信 提醒的方式来通知客户
(用短信的方式发送数据到对方的手机上)
可我有不会·有没有高手来指点一下· 比如用什么方法··软件··
 
 最好有个实例·· 各位高手加QQ :303384685  谢谢

解决方案 »

  1.   

    Sina什么的,都有这方面的网关接口也有些提供WebService的公共接口
      

  2.   

    发短信要移动、联通接口或者自己去买个猫
    下面有一个移动和联通接口发送的类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();
      

  3.   

    Sina有移动梦网的
    这里也有实际的操作,可以看看
    http://www.msuniversity.edu.cn/m_FegoArticle/Detail.aspx?articleid=244&category=digital.windowsMobile&username=whutclub&portalid=
      

  4.   

    如果是商业应用的话应该找一家SP商,发短信到手机是Sp的问题。你只需要协调自己和SP商之间的私有协议即可。
      

  5.   

    有两种方法可以实现楼主的功能。
    一、向移动或联通申请短信网关,然后通过短信网关来发送短信,电脑不需要增加硬件,只需要使用相应的软件就可以了。
    二、用短信猫插入普通的SIM卡,再通过串口连接电脑,然后再电脑上操作串口来发送短信。至于C#发送短信的代码网上很多,我只提供一个思路。最主要的组件的是.NET 2。0中的serialport类。首先用serialport类来打开短信猫所在COM口,然后根据各个GSM模块所支持的AT指令来发送短信。发送过程中需要注意的问题主要是中文短信转换成PDU码和PDU码转换成中文短信的问题。不过现在已经有高手写出了现成的类,来解决着两个问题。楼主如果需要可以联系我。
      

  6.   

    在系统里发短信,只要使用HTTP协议的发送接口,方法用POST和GET均可,很简单的! 可以在下面的地址注册获得10条自己做测试的(10条免费,再多就得买了。价格根据量,每条在几分到1毛之间) http://youe.smsadmin.cn/ API开发接口格式如下: 
    地址:http://221.130.185.108/smseting/wwwroot/api/get_send/ 
    类型:GET 方式 
    参数: ?uid=ID&pwd=密码&mobile=手机号&msg=短信内容&dtime=时间(时间为空为立即发送,格式:2007-12-01 00:00:00) 
    返值:0发送成功!;2余额不足!;1用户名或密码错误!;3超过发送最大量100条;4此用户不允许发送!;5手机号或发送信息不能为空!;6含有敏感字,请修改后发送!;7超过70个字,请修改后发送! 
    GET 接口目前只支持100个号码,以分号“;”分隔。 地址:http://221.130.185.108/smseting/wwwroot/api/post_send/ 
    类型:POST 方式 
    参数: ?uid=ID&pwd=密码&mobile=手机号&msg=短信内容&dtime=时间(时间为空为立即发送,格式:2007-12-01 00:00:00) 
    返值:0发送成功!;2余额不足!;1用户名或密码错误!;3超过发送最大量1000条;4此用户不允许发送!;5手机号或发送信息不能为空!;6含有敏感字,请修改后发送!;7超过70个字,请修改后发送! 
    POST 接口目前只支持1000个号码,以分号“;”分隔。 http://221.130.185.108/smseting/wwwroot/api/user_info/?uid=ID&pwd=密码    
    查询用户余额接口 
    其中ID和密码可以直接使用您在本系统中的帐号信息。在本系统中,您同样可以查看到调用接口发送的扣费明细,方便对接口的管理。 
    再有问题,留言或发站内信问我。