就是用短信网关在线发短信的一个功能,页面代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MsgList.aspx.cs" Inherits="Scripts_Ms_SaleBill_MsgList" %><%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.Query" TagPrefix="cc5" %>
<%@ Register Assembly="CHEN.XIN.Controls" Namespace="CHEN.XIN.Controls.Calendar" TagPrefix="cc4" %>
<%@ Register Assembly="CHEN.XIN.Controls" Namespace="CHEN.XIN.Controls.MultiRef" TagPrefix="cc3" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls" TagPrefix="cc2" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.ActionButton" TagPrefix="cc1" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.PagingList" TagPrefix="cc8" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.Query" TagPrefix="cc9" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>短信发送界面</title>
<script src="../../javascript/PubRato.js"></script>
<script language="javascript" src="Msg.js"></script>
</head>
<body>
<form id="form1" runat="server">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center"><asp:Label ID="lblTitle" runat="server" Text="短信发送界面" SkinID="FormTitle"></asp:Label></td>
</tr>
<tr>
<td align="right">
<input type="button" id="BtnSend" onclick="javascript:MsgOpen();" value=" 发 送 " class="BS_Button" />
<cc1:ButtonClose ID="btnClose" runat="server"></cc1:ButtonClose>
</td>
</tr>
<tr>
<td><br />
<table border="0" cellpadding="1" cellspacing="1" width="100%" class="PF_Table">
<tr>
<td>客户名称</td>
<td colspan="3"><cc2:TextBox ID="CusName" runat="server" IsReadOnly="True"></cc2:TextBox></td>
<td>客户手机*</td>
<td><cc2:TextBox ID="Tel" runat="server" onchange="javascript:GetCount();"></cc2:TextBox> <input type="button" id="btnCus" onclick="javascript:SaveCus();" value="更改手机" class="BS_Button" style="height:20px" /></td>
</tr>
<tr>
<td>短信内容*</td>
<td colspan="5"><cc2:TextBox ID="Memo" runat="server" TextMode="MultiLine" Rows="5" Width="96%" onchange="javascript:GetCount();"></cc2:TextBox></td>
</tr>
</table>
</td>
</tr>
</table>
<cc2:HiddenField ID="SendCode" runat="server" />
<cc2:HiddenField ID="TransCom" runat="server" />
<cc2:HiddenField ID="TotalMoney" runat="server" />
<cc2:HiddenField ID="MakerID" runat="server" />
<cc2:HiddenField ID="CusCode" runat="server" />
<cc2:HiddenField ID="SaleBillID" runat="server" />
<cc1:ActionLoadPage ID="loadPage" runat="server" Sql="Ms_SpSaleBillInfo" UrlDataType="string"></cc1:ActionLoadPage>
<font size="2">总字数/短信数:<input type="text" id="StringCount" value="0/0" runat="server" class="BS_TextBox" readonly>(移动联通70字/条,小灵通58字/条)</font>
</form>
</body>
</html>
<script language="Javascript">
///发送消息
function MsgOpen()
{
///校验数据
if(IsBlank(document.all.Tel.value))
{
alert("客户手机必须填写!");
return;
}
if(IsBlank(document.all.Memo.value))
{
alert("短信内容必须填写!");
return;
}
var Tel = document.all.Tel.value;
if(Tel.length != 11 && Tel.length != 8)
{
alert("客户手机不符合实际!");
return;
}
var strArray = GetArray();
var k = 0;
for(var i=0; i<strArray.length; i++)
{
var strTemp = strArray[i]; ///组合字符
var strSql = "http://www.imsms.net/smssoft/yixintong/adsend.asp?";
strSql = strSql + "userid=" + TransData("Xml.Aspx?Type=1");
strSql = strSql + "&passwd=" + TransData("Xml.Aspx?Type=2");
strSql = strSql + "&tel=" + Tel;
strSql = strSql + "&msg=" + strTemp;
///处理返回值
var result = TransData(strSql);
if(result==2)
{
alert("号码和内容问题,请检查号码格式是否正确,内容是否为空!");
return;
}
else if(result==3)
{
alert("密码帐号错误!");
return;
}
else if(result==4)
{
alert("余额不足!");
return;
}
else
{
DataSave(strTemp);
result = result.split('|')[1];
k = k + 1;
alert("第" + k + "条短信发送成功(还剩余" + result + "点)!");
}
}
}
//将短信设置为数组
function GetArray()
{
var strCount = 70;
var Tel = document.all.Tel.value;
if(Tel.length != 11)
strCount = 58;
var strString = document.all.Memo.value;
var my_array = new Array();
var i = 0;
while (strString.length > 0)
{
var strTemp = strString.substring(0,strCount);
my_array[i] = strTemp
strString = strString.substring(strTemp.length,strString.length);
i = i +1;
}
return my_array;
}
///保存数据
function DataSave(strMemo)
{
var MsgText = strMemo;
var MsgCount = 1;
var MakerID = document.all.MakerID.value;
var Tel = document.all.Tel.value;
var BillID = document.all.SaleBillID.value;
var strString = "MsgText=" + MsgText + "&MsgCount=" + MsgCount + "&MakerID=" + MakerID + "&Tel=" + Tel + "&BillID=" + BillID;
var result = TransData("Xml.Aspx?Type=3&" + strString);
}
//修改手机
function SaveCus()
{
var strCusCode = document.all.CusCode.value;
var strTel = document.all.Tel.value;
var strString = "CusCode=" + strCusCode + "&Tel=" + strTel;
var result = TransData("Xml.Aspx?Type=4&" + strString);
if(result==CusCode)
{
alert("客户手机更改成功!");
}
else
{
alert("客户手机更改失败!");
}
}
///通过Xml传输
function TransData(strUrl)
{
var objXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
objXMLHTTP.Open("POST",strUrl , false);
objXMLHTTP.setRequestHeader("Content-Type","text/xml; charset=gb2312");
objXMLHTTP.send("");
var result = objXMLHTTP.responseText;
return result;
}
///初始消息内容
function init()
{
var mydate=new Date();
var strDate = mydate.toLocaleString().split(" ")[0];
document.all.Memo.value = "货运" + document.all.TransCom.value + ";货号" + document.all.SendCode.value + ";发货日期" + strDate + ";金额" + document.all.TotalMoney.value + "元。请查收勿回(青岛世博)";
GetCount();
}
///获取字符数
function GetCount()
{
//获取每条短信的字符长度
var Tel = document.all.Tel.value;
var strCount = 70;
if(Tel.length != 11)
strCount = 58;
var result = document.all.Memo.value;//取得字符串
var strTotal = result.length;//取得总长度
var i = strTotal%strCount;//取得余数
if(i != 0)
var strCount = Math.floor(strTotal/strCount) + 1 ;
else
var strCount = strTotal/strCount;
var strString = strTotal + "/" + strCount;
document.all.StringCount.value = strString;
}
///调用初始函数
init();
</script>
经测试,部分用户上述功能可以正常使用,但是有的机器在运行时却在执行下属代码段的objXMLHTTP.open 方法中提示“Premission Denied”的错误,发送短信的动作无法执行,看到论坛上有说可以设置IE安全选项的ActiveX属性,但是我都设置为“允许”了貌似还是不行,盼请各位高手指教!小弟不胜感激! function TransData(strUrl)
{
var objXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
objXMLHTTP.Open("POST",strUrl , false);
objXMLHTTP.setRequestHeader("Content-Type","text/xml; charset=gb2312");
objXMLHTTP.send("");
var result = objXMLHTTP.responseText;
return result;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MsgList.aspx.cs" Inherits="Scripts_Ms_SaleBill_MsgList" %><%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.Query" TagPrefix="cc5" %>
<%@ Register Assembly="CHEN.XIN.Controls" Namespace="CHEN.XIN.Controls.Calendar" TagPrefix="cc4" %>
<%@ Register Assembly="CHEN.XIN.Controls" Namespace="CHEN.XIN.Controls.MultiRef" TagPrefix="cc3" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls" TagPrefix="cc2" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.ActionButton" TagPrefix="cc1" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.PagingList" TagPrefix="cc8" %>
<%@ Register Assembly="CHEN.XIN.Web.UI.Controls" Namespace="CHEN.XIN.Web.UI.Controls.Query" TagPrefix="cc9" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>短信发送界面</title>
<script src="../../javascript/PubRato.js"></script>
<script language="javascript" src="Msg.js"></script>
</head>
<body>
<form id="form1" runat="server">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center"><asp:Label ID="lblTitle" runat="server" Text="短信发送界面" SkinID="FormTitle"></asp:Label></td>
</tr>
<tr>
<td align="right">
<input type="button" id="BtnSend" onclick="javascript:MsgOpen();" value=" 发 送 " class="BS_Button" />
<cc1:ButtonClose ID="btnClose" runat="server"></cc1:ButtonClose>
</td>
</tr>
<tr>
<td><br />
<table border="0" cellpadding="1" cellspacing="1" width="100%" class="PF_Table">
<tr>
<td>客户名称</td>
<td colspan="3"><cc2:TextBox ID="CusName" runat="server" IsReadOnly="True"></cc2:TextBox></td>
<td>客户手机*</td>
<td><cc2:TextBox ID="Tel" runat="server" onchange="javascript:GetCount();"></cc2:TextBox> <input type="button" id="btnCus" onclick="javascript:SaveCus();" value="更改手机" class="BS_Button" style="height:20px" /></td>
</tr>
<tr>
<td>短信内容*</td>
<td colspan="5"><cc2:TextBox ID="Memo" runat="server" TextMode="MultiLine" Rows="5" Width="96%" onchange="javascript:GetCount();"></cc2:TextBox></td>
</tr>
</table>
</td>
</tr>
</table>
<cc2:HiddenField ID="SendCode" runat="server" />
<cc2:HiddenField ID="TransCom" runat="server" />
<cc2:HiddenField ID="TotalMoney" runat="server" />
<cc2:HiddenField ID="MakerID" runat="server" />
<cc2:HiddenField ID="CusCode" runat="server" />
<cc2:HiddenField ID="SaleBillID" runat="server" />
<cc1:ActionLoadPage ID="loadPage" runat="server" Sql="Ms_SpSaleBillInfo" UrlDataType="string"></cc1:ActionLoadPage>
<font size="2">总字数/短信数:<input type="text" id="StringCount" value="0/0" runat="server" class="BS_TextBox" readonly>(移动联通70字/条,小灵通58字/条)</font>
</form>
</body>
</html>
<script language="Javascript">
///发送消息
function MsgOpen()
{
///校验数据
if(IsBlank(document.all.Tel.value))
{
alert("客户手机必须填写!");
return;
}
if(IsBlank(document.all.Memo.value))
{
alert("短信内容必须填写!");
return;
}
var Tel = document.all.Tel.value;
if(Tel.length != 11 && Tel.length != 8)
{
alert("客户手机不符合实际!");
return;
}
var strArray = GetArray();
var k = 0;
for(var i=0; i<strArray.length; i++)
{
var strTemp = strArray[i]; ///组合字符
var strSql = "http://www.imsms.net/smssoft/yixintong/adsend.asp?";
strSql = strSql + "userid=" + TransData("Xml.Aspx?Type=1");
strSql = strSql + "&passwd=" + TransData("Xml.Aspx?Type=2");
strSql = strSql + "&tel=" + Tel;
strSql = strSql + "&msg=" + strTemp;
///处理返回值
var result = TransData(strSql);
if(result==2)
{
alert("号码和内容问题,请检查号码格式是否正确,内容是否为空!");
return;
}
else if(result==3)
{
alert("密码帐号错误!");
return;
}
else if(result==4)
{
alert("余额不足!");
return;
}
else
{
DataSave(strTemp);
result = result.split('|')[1];
k = k + 1;
alert("第" + k + "条短信发送成功(还剩余" + result + "点)!");
}
}
}
//将短信设置为数组
function GetArray()
{
var strCount = 70;
var Tel = document.all.Tel.value;
if(Tel.length != 11)
strCount = 58;
var strString = document.all.Memo.value;
var my_array = new Array();
var i = 0;
while (strString.length > 0)
{
var strTemp = strString.substring(0,strCount);
my_array[i] = strTemp
strString = strString.substring(strTemp.length,strString.length);
i = i +1;
}
return my_array;
}
///保存数据
function DataSave(strMemo)
{
var MsgText = strMemo;
var MsgCount = 1;
var MakerID = document.all.MakerID.value;
var Tel = document.all.Tel.value;
var BillID = document.all.SaleBillID.value;
var strString = "MsgText=" + MsgText + "&MsgCount=" + MsgCount + "&MakerID=" + MakerID + "&Tel=" + Tel + "&BillID=" + BillID;
var result = TransData("Xml.Aspx?Type=3&" + strString);
}
//修改手机
function SaveCus()
{
var strCusCode = document.all.CusCode.value;
var strTel = document.all.Tel.value;
var strString = "CusCode=" + strCusCode + "&Tel=" + strTel;
var result = TransData("Xml.Aspx?Type=4&" + strString);
if(result==CusCode)
{
alert("客户手机更改成功!");
}
else
{
alert("客户手机更改失败!");
}
}
///通过Xml传输
function TransData(strUrl)
{
var objXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
objXMLHTTP.Open("POST",strUrl , false);
objXMLHTTP.setRequestHeader("Content-Type","text/xml; charset=gb2312");
objXMLHTTP.send("");
var result = objXMLHTTP.responseText;
return result;
}
///初始消息内容
function init()
{
var mydate=new Date();
var strDate = mydate.toLocaleString().split(" ")[0];
document.all.Memo.value = "货运" + document.all.TransCom.value + ";货号" + document.all.SendCode.value + ";发货日期" + strDate + ";金额" + document.all.TotalMoney.value + "元。请查收勿回(青岛世博)";
GetCount();
}
///获取字符数
function GetCount()
{
//获取每条短信的字符长度
var Tel = document.all.Tel.value;
var strCount = 70;
if(Tel.length != 11)
strCount = 58;
var result = document.all.Memo.value;//取得字符串
var strTotal = result.length;//取得总长度
var i = strTotal%strCount;//取得余数
if(i != 0)
var strCount = Math.floor(strTotal/strCount) + 1 ;
else
var strCount = strTotal/strCount;
var strString = strTotal + "/" + strCount;
document.all.StringCount.value = strString;
}
///调用初始函数
init();
</script>
经测试,部分用户上述功能可以正常使用,但是有的机器在运行时却在执行下属代码段的objXMLHTTP.open 方法中提示“Premission Denied”的错误,发送短信的动作无法执行,看到论坛上有说可以设置IE安全选项的ActiveX属性,但是我都设置为“允许”了貌似还是不行,盼请各位高手指教!小弟不胜感激! function TransData(strUrl)
{
var objXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
objXMLHTTP.Open("POST",strUrl , false);
objXMLHTTP.setRequestHeader("Content-Type","text/xml; charset=gb2312");
objXMLHTTP.send("");
var result = objXMLHTTP.responseText;
return result;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货