asp.net发送短信

时间:2021-10-08 11:45:54
 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 == )
{
url = arrUrlData[]; // 服务地址 http://XXXXXXX/sms/interSms.aspx
urldata = arrUrlData[]; // 参数 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 = ;
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
// Send the data.
newStream.Write(data, , 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 = { "", "", "", "", "", "", "", "", "", "" };
string result = "";
Random r = new Random();
for (int i = ; i < ; i++)
{
result += arr[r.Next(, )];
}
return result;
}