SMSKora is a modular SMS platform for WordPress. It lets you send SMS OTP codes and SMS notifications through a range of popular SMS gateways, with zero code required for most use cases. Advanced developers get a clean PHP API, action/filter hooks, and an extensible provider registry.
SMSKora ships with built-in support for the following SMS gateways:
Additional providers can be registered using the smskora_register_providers filter hook.
WordPress Login OTP
Add two-factor SMS verification to the default WordPress login form. After username and password are accepted, an OTP is sent to the user’s saved phone number. Supports Password + OTP mode. Users without a saved phone number are allowed to log in normally and are reminded to add a phone number from their profile page.
WordPress Registration OTP
Verify the phone number entered during WordPress default registration before the account is created.
WooCommerce Order SMS Notifications
Send SMS notifications to both the store admin and customers when WooCommerce order events occur.
Custom SMS Notification
Trigger one-off SMS messages from the admin Tools page or from your own code.
Developer API
Enable PHP helper functions, action hooks, and filter hooks for use in themes, plugins, and custom integrations.
Every SMS notification uses a customizable template. Templates support the following dynamic variables:
{otp} — The generated OTP code.{order_id} — WooCommerce order number.{order_total} — Order total with currency.{customer_name} — Customer billing first name.{site_name} — Your WordPress site name.{user_name} — Display name of the user.PHP Helper Functions
smskora_send_sms( $message, $number, $args ) — Send a plain SMS.
smskora_send_otp( $number, $context, $args ) — Generate and send an OTP.
smskora_verify_otp( $number, $otp, $context ) — Verify a submitted OTP code.
smskora_get_option( $key, $default ) — Read a plugin setting.
Static Class API
\SMSKora\SMSKora::send_sms( $message, $number, $args )
\SMSKora\SMSKora::send_otp( $number, $context, $args )
\SMSKora\SMSKora::verify_otp( $number, $otp, $context )
Action Hooks
smskora_before_send_sms — Fires before an SMS is dispatched.
smskora_after_send_sms — Fires after an SMS is dispatched.
smskora_otp_sent — Fires after an OTP is sent successfully.
smskora_otp_verified — Fires after an OTP is verified successfully.
smskora_feature_registered — Fires when a feature is registered.
Filter Hooks
smskora_register_providers — Register custom SMS provider classes.
smskora_sms_message — Filter the SMS message text before sending.
smskora_otp_length — Filter the OTP code length.
smskora_otp_expiry — Filter the OTP expiry time in minutes.
password_hash() before being stored.SMSKora stores SMS log records (recipient, message status, provider, context) and OTP records (hashed OTP, phone, expiry) in custom database tables. No data is sent to third-party servers by this plugin. Data is sent only to the SMS gateway you configure. All stored data is deleted when the “Delete Data on Uninstall” setting is enabled.
SMSKora connects to external SMS gateway APIs only when a site administrator configures an SMS provider and the plugin sends an SMS message, OTP message, order notification, login verification message, registration verification message, or balance-check request.
The plugin does not send SMS data to servers controlled by the SMSKora plugin author. SMS data is sent only to the SMS gateway provider selected and configured by the site administrator.
For configured providers, the following data may be sent to the selected provider:
No external SMS gateway request is made unless the administrator configures a provider and a plugin feature triggers an SMS send or balance check.
This plugin can connect to the BulkSMSBD SMS gateway to send SMS messages and check account balance.
API domains used by this plugin:
Data sent:
Service website: https://bulksmsbd.com/
Terms of Service: https://bulksmsbd.com/terms-and-conditions.php
Privacy Policy: Not publicly listed by the provider at the time of writing. Users should contact BulkSMSBD through https://bulksmsbd.com/contact for privacy information before enabling this provider.
This plugin can connect to the MimSMS SMS gateway to send SMS messages and check account balance.
API domains used by this plugin:
Data sent:
Service website: https://mimsms.com/
Terms of Service: https://www.mimsms.com/terms-of-service
Privacy Policy: https://www.mimsms.com/privacy-policy
This plugin can connect to the SMSNet BD / sms.bd SMS gateway to send SMS messages and check account balance.
API domains used by this plugin:
Data sent:
Service website: https://sms.bd/
Terms of Service: https://sms.bd/Terms_Condition/
Privacy Policy: Not publicly listed by the provider at the time of writing. Users should contact SMSNet BD / sms.bd through https://sms.bd/Contact/ for privacy information before enabling this provider.
This plugin includes a Custom API provider that allows the site administrator to configure their own SMS gateway endpoint.
External service used:
Data sent:
Because the Custom API provider can connect to any administrator-configured endpoint, site administrators are responsible for reviewing that provider’s terms of service and privacy policy before enabling it.
This plugin may include Twilio as an SMS provider option. If configured by the site administrator, it can connect to Twilio to send SMS messages.
Data sent:
Service website: https://www.twilio.com/
Terms of Service: https://www.twilio.com/en-us/legal/tos
Privacy Policy: https://www.twilio.com/en-us/legal/privacy
This plugin may include Vonage as an SMS provider option. If configured by the site administrator, it can connect to Vonage to send SMS messages.
Data sent:
Service website: https://www.vonage.com/
Terms of Service: https://www.vonage.com/legal/
Privacy Policy: https://www.vonage.com/legal/privacy-policy/