andreasnij / an-sms
一个PHP库,可以通过各种网关/服务提供商发送和接收短信。
1.2
2024-09-10 11:59 UTC
Requires
- php: >=8.1
- php-http/discovery: ^1.14
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.1 || ^2.0
- psr/log: ^1.0 || ^2.0 || ^3.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- phpstan/phpstan: ^1.3
- phpunit/phpunit: ^10.0 | ^11.0
- squizlabs/php_codesniffer: ^3.6
- twilio/sdk: ^6.32
- vonage/client-core: ^4.0
Suggests
- twilio/sdk: Required to use the Twilio gateway
- vonage/client-core: Required to use the Vonage gateway
README
一个可扩展的库,用于发送和接收短信。
支持的短信网关
您可以添加并使用自己的网关。此库使得在不同网关之间切换变得简单。
安装
将包添加到您的composer.json
中的依赖项
$ composer require andreasnij/an-sms
如果您想使用46elks
、Cellsynt
或Telenor SMS Pro
网关,您还需要实现PSR-7:HTTP消息接口、PSR-17:HTTP工厂和PSR-18:HTTP客户端。此功能的流行包是Guzzle。您可以使用以下命令安装它:
$ composer require guzzlehttp/guzzle:^7.0 guzzlehttp/psr7:^2.0
您也可以选择使用任何其他PSR接口的实现。
如果您想使用Twilio
网关,您还需要安装Twilio SDK
$ composer require twilio/sdk
如果您想使用Vonage
网关,您还需要安装Vonage客户端
$ composer require vonage/client-core
用法
use AnSms\{ SmsTransceiver, Message\Message, Message\PremiumMessage, Gateway\CellsyntGateway }; $gateway = new CellsyntGateway('username', 'password'); $smsTransceiver = new SmsTransceiver($gateway); // Send SMS $message = Message::create('46700000000', 'Hello world!'); $smsTransceiver->sendMessage($message); // Receive SMS $receivedMessage = $smsTransceiver->receiveMessage($_GET); // Receive SMS delivery report $deliveryReport = $smsTransceiver->receiveDeliveryReport($_GET); // Send Premium SMS $premiumMessage = PremiumMessage::createFromIncomingMessage( 'Thanks for your payment!', 5, $receivedMessage ); $smsTransceiver->sendMessage($premiumMessage);
升级
有关详细信息,请参阅UPGRADING
作者
Andreas Nilsson (https://github.com/andreasnij)
许可证
此软件根据MIT许可证授权 - 有关详细信息,请参阅LICENSE文件。