具体就是js获取输入的手机号和内容,然后判断输入是否准确,比如手机号位数和短信字数
用js给提交按钮绑定事件进行ajax post数据传输给后台,或者直接用submit按钮进行表单提交。
后台获取数据后,通过某些端口与运营商通讯,然后发送短信。
你单纯一个服务器肯定没法发短信啊,还要有硬件,就要去移动啦电信啦联通啦买一些服务,调用他们的服务发送。
当然你买个发送短信的硬件插服务器上也行,不一定稳定,也不一定合法。。。
参考如下实例代码:self.sendAliMessage = function(req,res){
var param = {
'Action': 'SingleSendSms',
'SignName' : 'xxxx', //短信签名名称
'TemplateCode' : 'SMS_1635xxxx',
'RecNum': '13564096???', //手机号
'ParamString' : JSON.stringify({"code":"9527"}),//验证码模板里的变量
'Version' : '2016-09-27',
'Format': 'JSON',
'AccessKeyId' : ali_access_key_id,
'SignatureMethod' : 'HMAC-SHA1',
'SignatureVersion' : '1.0',
'SignatureNonce': randomstr(9), //随机数
'Timestamp' : new Date().toISOString(),
}
param.Signature = sign.signForAliMessage(param, ali_access_key_secret)
var api_url = 'https://sms.aliyuncs.com/'
request.post({
url: api_url,
headers: {
'Content-Type':'application/x-www-form-urlencoded'
},
form:param
},function(err,response,data){
var result
data = JSON.parse(data)
if (!err &&data.Model) {
result = res.returnData(200)
}else{
result = res.returnData(113)
}
res.send(result)
})
}
/*签名方法*/
sign.signForAliMessage = function(src_sign,access_key_secret){
var param , qstring = []
var oa = Object.keys(src_sign).sort() , on = {}
for(var i=0i<oa.lengthi++){
on[oa] = src_sign[oa]
}
param = on
for(var key in param){
qstring.push(encodeURIComponent(key)+'='+encodeURIComponent(param[key]))
}
qstring = qstring.join('&')
var StringToSign = 'POST'+'&'+encodeURIComponent('/')+'&'+encodeURIComponent(qstring)
access_key_secret = access_key_secret+'&'
var signature = crypto.createHmac('sha1', access_key_secret).update(new Buffer(StringToSign, 'utf-8')).digest('base64')
return signature
}