详解dedecms使用整合阿里大鱼短信接口进行短信发送的教程

DedeCMS是一个开源的内容管理系统,我们可以通过自定义模板标签和函数来整合第三方服务。这里我们详细讲解如何在DedeCMS中使用阿里大鱼短信服务进行短信发送。

1. 注册阿里大鱼账号并创建短信签名及模板

先到阿里大鱼官网注册开发者账号,然后创建短信签名和短信模板,记录下 AppKey、AppSecret 和短信模板ID。

2. DedeCMS后台配置

登录DedeCMS后台,在全局->系统->API配置中添加:

AliyunSMS|AppKey|您的AppKey
AliyunSMS|AppSecret|您的AppSecret 
AliyunSMS|SMSTemplateID|您的短信模板ID

这样我们就在DedeCMS后台配置好了阿里大鱼短信服务需要的认证信息和模板ID。

3. 标签函数

我们需要创建一个sms.lib.php文件,用来封装阿里大鱼短信发送函数,此文件内容为:

<?php
function sendSMS($mobile,$code) 
{
    $url="https://sms.aliyuncs.com/";
    $appkey= trim(get_cfg_var('AliyunSMS|AppKey'));
    $appsecret= trim(get_cfg_var('AliyunSMS|AppSecret'));
    $signname= "您的短信签名"; 
    $templatecode= trim(get_cfg_var('AliyunSMS|SMSTemplateID'));
    $smsapi="/?Action=SingleSendSms";
    $smsapi.="&SignName=".$signname;
    $smsapi.="&TemplateCode=".$templatecode;
    $smsapi.="&RecNum=".$mobile;
    $smsapi.="&ParamString=".$code;
    $smsapi.="&Format=XML";
    $packsms= array(
        "SignatureMethod" => "HMAC-SHA1",
        "SignatureNonce" => uniqid(),
        "AccessKeyId" => $appkey,
        "Timestamp" => date('Y-m-d\TH:i:s\Z'),
        "SignatureVersion" => "1.0"
    );
    $packsms['Signature'] = createSignature($packsms,$appsecret.'&');
    $smsapi = $url.$smsapi."&".http_build_query($packsms);
    $result = file_get_contents($smsapi);
}
?>

这个函数封装了使用阿里大鱼接口发送短信的逻辑,我们可以在模板中调用此函数进行短信发送。

4. 模板标签调用

在需要发送短信的模板中,添加如下标签调用即可:

{dede:sendSMS mobile='手机号码' code='验证码'}
{/dede:sendSMS} 

这样就完成了在DedeCMS使用阿里大鱼短信服务发送短信的整合。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论