asp.net发送短信

 public class SmsServiceManager
    {
        public static string Send(string PhoneNumber, out string sendNo)
        {
            sendNo = GetRandomNum();  // 得到发送的验证码
            //  当然 你也可以在这里或下面把这个SendNo插入数据库,就不用反回这个sendNO了
            string tmp = "";
            if (PhoneNumber != "")
            {
                //  http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime="
                //     因WebConfig中不&要转义成&所以配置如下,把  &  改成  &  就得到如下地址
                // WebConfig中的配置为 value="http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime="
                string urlData = ConfigurationManager.AppSettings["SmsUrl"].ToString();
                string SMSContent = ConfigurationManager.AppSettings["SMSContent"].ToString();  // 发送的内容  "欢迎注册XXX,您的验证码是:{0}"这种
                SMSContent = string.Format(SMSContent, sendNo);
                string url = "";
                string urldata = "";
                if (!string.IsNullOrEmpty(urlData))
                {
                    string[] arrUrlData = urlData.Split('?');
                    if (arrUrlData != null && arrUrlData.Length == 2)
                    {
                        url = arrUrlData[0];      // 服务地址 http://XXXXXXX/sms/interSms.aspx
                        urldata = arrUrlData[1]; // 参数 smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=
                    }
                    else
                        return "url配置错误!";
                }
                else
                    return "url配置错误!";               // 这个引用using system.web   对上面的{0},{1}格式化
                urldata = string.Format(urldata, PhoneNumber,SMSContent);
                byte[] data = Encoding.UTF8.GetBytes(urldata);
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);// http://XXXXXXX/sms/interSms.aspx
                myRequest.Method = "POST";
                myRequest.Timeout = 10000;
                myRequest.ContentType = "application/x-www-form-urlencoded";
                myRequest.ContentLength = data.Length;
                Stream newStream = myRequest.GetRequestStream();
                // Send the data.
                newStream.Write(data, 0, data.Length);
                newStream.Close();
                //接收返回信息:
                HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse();
                StreamReader sreader = new StreamReader(response.GetResponseStream(), Encoding.Default);
                tmp = sreader.ReadToEnd();   // 读取反回信息
            }
            return tmp;
        }

        public static string GetRandomNum()
        {
            string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
            string result = "";
            Random r = new Random();
            for (int i = 0; i < 6; i++)
            {
                result += arr[r.Next(0, 10)];
            }
            return result;
        }

 

posted @ 2016-04-17 22:24  酒沉吟  阅读(224)  评论(0编辑  收藏  举报