阿里大鱼虽免费,但不足的是内容、签名什么都要进行审核,且短信内容必须以模版方式进行调用,不能根据自己的需求随意发送, 接下介绍下阿里大鱼免费短信具体实现方法,该方法php程序可通用。
首先要去阿里大鱼下载sdk,引用其中5个基础文件即可,然后进入阿里大鱼开发平台申请一个帐号,新建应用,从后台获取appkey值和secretKey值;然后再新建一个短信模版,审核通过后取得模版id,同时如果需要在模版中传人参数可以在通过setSmsParam方法设置进去;同样短信签名也需要后台申请,审核通过才可以填写相应的短信签名进去;
做完上面的操作,把获取的参数根据下面的方法传入即可。
如下返回值是数组返回的,已解析,有点注意的是官方文档返回结构和实际的结构不一样,发送成功的返回的值是二维数组结构,发送失败的话则说简单的一维数组结构。
include('aldy/TopClient.php'); //这个是你下面实例化的类
include('aldy/ResultSet.php'); //这个是topClient 里面需要实例化一个类所以我们也要加载 不然会报错
include('aldy/RequestCheckUtil.php'); //这个是成功后返回的信息文件
include('aldy/TopLogger.php'); //这个是错误信息返回的一个php文件
include('aldy/AlibabaAliqinFcSmsNumSendRequest.php'); //这个也是你下面示例的类
//短信发送 模版id(TemplateCode),发送号码(RecNum),FreeSignName(短信签名)
function send_sms($TemplateCode,$RecNum,$FreeSignName){
$c = new TopClient;
$c->appkey = ;//appkey值
$c->secretKey = ;//secretKey值
$req = new AlibabaAliqinFcSmsNumSendRequest;
//$req->setExtend("123456");
$req->setSmsType("normal");
$req->setSmsFreeSignName($FreeSignName);
$req->setSmsParam("{"code":"1234","product":"alidayu"}");.//模版参数
$req->setRecNum($RecNum);
$req->setSmsTemplateCode($TemplateCode);
$resp = $c->execute($req);
$content = json_decode(json_encode($resp),true);
try {
$result= $content['sub_msg'];
throw new Exception('It is an exception!');
} catch (Exception $e) {
if( $content['result']['success'] == 'true' ){
$result= '发送成功';
}else{
$result= '发送失败';
}
}
echo $result;
exit();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。