seymuromarov / sms
不同提供商发送短信的Laravel API。
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.3
README
用于从不同提供商发送短信并通过短信进行认证的Laravel API
当前支持 Sms.ru
, Clockwork
, MSM
, Smsapi
,Nexmo
, Clickatell
要求
安装
需要包
composer require seymuromarov/sms
现在在config/app.php文件中添加服务提供者
'providers' => [
// ...
Seymuromarov\Sms\SmsServiceProvider::class,
],
之后,在config/app.php文件中添加别名
'aliases' => [
//...
'Sms' => Seymuromarov\Sms\Facades\Sms::class
],
将以下值添加到您的.env
文件中
SMS_USER=
SMS_PASS=
SMS_FROM=
SMS_PROVIDER=
SMS_PROVIDER => 提供商名称 msm
, clockwork
, smsRu
, smsApi
,nexmo
,clickatell
SMS_PASS - 提供商密码(在clockwork
中是密钥,在clickatell
中是API密钥,在smsRu
中是api_id,在smsApi
中是MD5密码)
SMS_FROM - 对于某些提供商是可选的
注意:Nexmo
:api_secret是SMS_PASS,api_key是SMS_USER
使用命令(可选)
php artisan migrate
如果您想保存发送的消息或通过短信进行记录,请使用此命令
可选的.env
值
SMS_DB=false
SMS_DB - 如果设置为true,则将在数据库中记录所有发送的消息(您必须迁移迁移),默认为false
使用Sms Sender使用此
Sms::send($number,$message);
Sms::send(441234567890,"HELLO WORLD");
Sms::send([441234567890,994513073940,441234567891],"HELLO WORLD");
注意:Nexmo
不支持批量消息
用于检查余额(仅适用于Clockwork和SmsApi)
Sms::balance();
现在支持无密码通过短信登录,您可以使用它进行双因素认证或只是通过Laravel更快地登录
如果您不使用短信登录,则不需要从这里继续阅读
可选的.env
值
SMS_DB_PHONE=phone
SMS_DB_PHONE - 它用于登录目的,在此处写入您的电话号码列名(您必须在用户表中设置它),默认为phone
例如:如果您有默认的用户表,只需在它上添加phone_number列,并更改环境值如下
SMS_DB_PHONE=phone_number
用于登录目的发送消息使用此
Sms::login_code($number, $message = null, $len = 6);
Sms::login_code(994513073940, "this is your verification code : "); // it will send message like this this is your verification code : 254129
Sms::login_code(994513073940, "use code : ",9); // it will send message like this this is your verification code : 325475698
用于验证代码和登录使用此
Sms::check_login($number, $code, $id = null);
Sms::login_code(994513073940, "254129"); // it will find user and login with user whose number is 994513073940 and login via phone number
// If u don't have phone table on users , we have solution for this too , just send id which u want to login for example:
Sms::login_code(994513073940, "254129",24); // it will find user whose id is 24 and login via id
如果登录成功,则返回true,如果存在问题,则返回false