darkstar/yii2-kannel
Yii 2 Kannel Http SMS
dev-master
2018-03-17 23:19 UTC
This package is auto-updated.
Last update: 2024-09-12 10:48:50 UTC
README
此小部件将允许您通过 Kannel 提供的 HTTP 接口发送短信(http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html#AEN5058)。
安装
安装此扩展的首选方式是通过 composer。
安装
运行以下命令之一
$ php composer.phar require d4rkstar/yii2-kannel "dev-master"
或者将以下内容添加到您的 composer.json
文件的 require
部分。
"d4rkstar/yii2-kannel": "dev-master"
示例用法
在您的 app/config/web.php
文件的 components
部分,添加
现在,添加一个名为 app/config/kannel.php
的配置文件,并添加
'components' => [
...
'kannel' => require(__DIR__ . '/kannel.php'),
]
现在,在任何您应用的地方,您都可以发送短信
<?php
use d4rkstar\kannel\HttpSms;
return [
'class'=>'d4rkstar\kannel\HttpSms',
'host'=>'127.0.0.1', // replace with your kannel host IP
'port'=>13013, // replace with your kannel host Port
'username'=>'kanneluser', // replace with your kannel User
'password'=>'kannelpass', // replace with your kannel Password
'dlrMask'=>HttpSms::DLR_ALL, // delivery notifications (read more below)
'dlrUrl'=>'http://127.0.0.1/delivery.php?id=%s&status=%s' // callback delivery URL
];
?>
返回值
<?php
$sms_id = 1; // <-- replace this ID with the Id of your DB or unique identifier of the sms
$from = ''; <-- put your SMS sender number here
$to = ''; <-- put SMS recipient number here
$body = 'Hello world!';
$result = Yii::$app->kannel->sendSingleSms($id, $from, $to, $body);
switch ($result['code']) {
case '202':
echo "Success!";
default:
echo "Failure!";
}
?>
投递报告
投递报告
如果您设置了 dlrMask 和 dlrUrl,HTTP 请求将请求 Kannel 报告短信的投递状态。投递报告将通过 Web 回调 URL 发送到您的应用程序:根据报告类型,Kannel 将调用您在 dlrUrl 中指定的 URL。因此,如果 URL 包含一个 ID 参数,回调也将包含此 ID 以及投递报告的类型。
投递报告包括
Kannel 检查
为了检查 kannel 状态,提供了一个名为 check/kannel_check.php
的脚本。注意:这种方法不太安全,但如果您的机器在“安全”环境中,应该没有问题。将脚本放在运行 kannel 的服务器上,并根据您的需求进行调整。您应该将 $checkUrl
属性设置为 kannel_check.php 脚本的 URL。