前一阵子刚过,移动啊,支付宝什么的,好多都是在阳历生日给发送祝福,但是也有一部分人过阴历生日,不过阳历生日的,所以,就想着自己写一个能在阴历生日当天发送生日祝福的功能,只是一个小功能,记录一下。
涉及到的知识点,分3部分
一、短信;
二、获取当天阴历日期;
三、定时任务;
之前的博客有写怎么样去设置定时任务,后面再说获取当天阴历日期,先记录一下短信情况。
一、腾讯云上需要有账号,短信可以自己买套餐,目前腾讯搞活动,赠100条/月短信,需求不大的话,可以先白嫖着。
进入短信控制台,先去创建短信签名和短信模板。这两个是必须有的。
建议选择自用,不过也需要有对应网站域名的备案等信息
选择他用的话,需要上传的东西更多
需要把网站名称或关键字,或者全称写上去,可以试几次,还需要把网站截图发过去。
多试几次,创建好签名,还需要创建模板
一般是验证码什么的,按照上面选择就好,如果有自己需要的格式,需要留出{1},{2}这些符号,用来后面替换掉自己想发送的信息。
还有一个是应用
现在,控制台的配置好了,需要去写PHP代码了
先去下载sdk包
地址:GitHub - qcloudsms/qcloudsms_php: qcloudsms sdk for php
有用的也就是src里面的十几个文件
下载好之后,放进项目中,其中需要注意的是
在extend(tp5框架)下,先创建一个Qcloud文件,把src改名为Sms放进去,才能用。要不一个一个改里面的namespace什么的太麻烦了。
文件放好之后,就是调用了
传过来的参数可多可少
其中$params中的数据,是前面创建模板时候预留的{1},{2}的替换值,有一个就写几个$params里面的值必须为数组,可根据自己需要设置数据。
下一步,填写appid,appkey等值
右侧应用列表,里面找到你之前创建的应用
点开,里面找到SDKAppID,还有App Key。
然后去模板id
签名的话,不需要id,是需要填写内容
基本OK了,然后写上地址,先调用一下
//短信接口
public function sendMessageToPerson($phoneNumbers,$name,$message){
// 短信应用 SDK AppID
$appid = 140000000; // SDK AppID 以1400开头
// 短信应用 SDK AppKey
$appkey = "a4e055a7d637a29c11c500000000593c";
// 需要发送短信的手机号码
//$phoneNumbers = input("phone");
// 短信模板 ID,需要在短信控制台中申请
$templateId = 111111; // NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
$smsSign = "签名内容"; // NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台申请
try {
$ssender = new SmsSingleSender($appid, $appkey);
$params = [$name,$message];//生成随机数
$result = $ssender->sendWithParam("86", $phoneNumbers, $templateId, $params, $smsSign,"", "");
$rsp = json_decode($result);
dump($result);die;
echo json(["result"=>$rsp->result,"code"=>$params]);
} catch(\Exception $e) {
dump($e);
}
}
有报错的话,把$result打印一下即可
成功收到短信,发送短信部分OK了。后续更新获取今天阴历日期博客。