- How do I install iqbalhasandev/laravel-bulksmsbd in a Laravel project?
- Install it with composer require iqbalhasandev/laravel-bulksmsbd. The package ships a service provider and a facade, so Laravel auto-discovery should register it without manual wiring on supported versions. After that you publish the config file and add your BulkSMSBD API key and sender ID. There are no migrations, tables, or queue requirements imposed by the package.
- Which Laravel and PHP versions does laravel-bulksmsbd support?
- The repository has been archived since early 2023, so its composer.json constraints almost certainly target Laravel 8/9-era illuminate/support and PHP 7.4 or 8.0. Expect install conflicts on Laravel 10, Laravel 11, or PHP 8.2 and above. Check the composer constraints against your target framework before doing anything else, because that is the cheapest and most likely blocker. If the constraints fail, the MIT license lets you vendor or fork the small source cleanly.
- How do I configure the BulkSMSBD API key and sender ID?
- Publish the package config file and point it at your BulkSMSBD credentials: the api_key, the approved senderid, and the recipient number and message fields used in the request. Do not hard-code values in the published config; keep them in .env and reference them through env() so secrets never land in version control. The sender ID must be one approved by the provider, which in Bangladesh typically means a BTRC-registered masking ID.
- How do I send an SMS with the BulkSmsBD facade?
- The package exposes a facade that wraps a single form-encoded HTTP POST to bulksmsbd.net, so a call such as BulkSmsBD::send() with the recipient number and message body is the whole integration. There is no fluent builder, no message object, and no channel abstraction, just the one vendor request shape. Wrap the call in your own service class rather than calling the facade directly from controllers so you can swap it later.
- Can I send bulk SMS or OTP messages with this package?
- Yes, the underlying BulkSMSBD API accepts multiple recipients and the package is a thin pass-through, so bulk dispatch works to the extent the provider supports it. OTP and transactional alerts are the realistic use cases. However, the package adds no rate-limit awareness, retry logic, or idempotency, so you must implement throttling and deduplication yourself before pointing OTP traffic at it.
- Does laravel-bulksmsbd handle Bangla or Unicode messages correctly?
- The package does not appear to do any encoding work; it forwards your message string to the provider as-is. Whether Bangla text is sent as UCS-2 and how that changes message segmentation and per-message billing is determined by the BulkSMSBD API, not the package. Test a real Bangla message against sandbox credentials and confirm the billed segment count before relying on it for customer-facing traffic.
- How does laravel-bulksmsbd surface errors and failed deliveries?
- There is no evidence in the source of structured error surfacing, typed exceptions, or result objects. Many regional SMS gateways return HTTP 200 with an error body, and a thin facade can silently swallow that, so a failed send may look successful. Wrap every call in try/catch, inspect and log the raw response payload, and never treat a non-exception return as proof of delivery.
- Does the package support queues, retries, or delivery reports?
- No. The package imposes no queue requirements and includes no retry policy, backoff, or idempotency keys, and there is no DLR callback or webhook plumbing for delivery confirmation. Delivery is effectively fire-and-forget unless the vendor exposes a separate status endpoint you integrate yourself. For anything important, dispatch the send from a queued job with explicit retries and structured logging around the adapter.
- Is laravel-bulksmsbd maintained and safe to use in production?
- The repository is archived, has around 21 stars, and zero dependents, so there is no community validation and no maintenance path. Upstream maintenance is effectively zero, meaning you own the code the moment it is installed. It is reasonable for a prototype or a one-off internal alert script but wrong as a long-lived dependency for a regulated, customer-facing channel such as OTP.
- What are the alternatives to laravel-bulksmsbd for sending SMS in Laravel?
- Because the integration is a single form-encoded HTTP POST, you can replace the package with roughly 100 lines using Laravel's Http client behind your own contract, such as SmsGateway::send(SmsMessage): SmsResult. That keeps credentials in config/services.php via env(), gives you a place for retries and error mapping, and lets you add a second provider for failover. Treat the package as a reference specification: read its small source, record the endpoint, parameters, and error codes, then reimplement and retire it before production.