Laravel 8 Send SMS to Mobile with Nexmo

Laravel 8 send sms using nexmo example; In this tutorial, i will show step by step on how to send sms notification to mobile using nexmo in laravel 8 app.

What is Nexmo? Nexmo connects your apps directly to carriers around the world. Integrate SMS and Voice messages using one simple API. Use Nexmo Verity to register users, verify transactions, and implement two factor authentication. Nexmo is a tool in the Voice and SMS category of a tech stack.

Create nexmo account; so visit this link Get client id and secret from nexom account.

How to Send SMS Messages in Laravel 8

  • Step 1 – Download Laravel 8 Application
  • Step 2 – Connecting App to Database
  • Step 3 – Install SMS Package
  • Step 4 – Create Route
  • Step 5 – Create Controller By Artisan Command
  • Step 6 – Run Development Server

Step 1 – Download Laravel 8 Application

Istall laravel 8 new setup. So, open terminal and type the following command to install new laravel 8 app into your machine:

composer create-project --prefer-dist laravel/laravel blog

Step 2 – Connecting App to Database

Setup database with your downloded/installed laravel 8 app. So, you need to find .env file and setup database details as following:


And add nexmo client id and secret in .env file:


Step 3 – Install SMS Pakcage

Open again your command prompt and execute the following command on it. To install nexmo sms package:

composer require nexmo/client

Then visit nexmo website and create nexmo account from here : When you will be done account creation. This will give you the app id and secret key.

Step 4 – Create Routes

In this step, open web.php file from routes direcotry. And update the following routes into web.php file:

  use App\Http\Controllers\NexmoSMSController;
  Route::get('send-sms', [NexmoSMSController::class, 'index']);

Step 5 – Create Controller By Artisan Command

Run the following command on command prompt to create controller file:

php artisan make:controller NexmoSMSController

After that, go to app/http/controllers and open NexmoSMSController.php file. And update the following code into it:

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Exception;
class NexmoSMSController extends Controller
     * Write code on Method
     * @return response()
    public function index()
        try {
            $basic  = new \Nexmo\Client\Credentials\Basic(getenv("NEXMO_KEY"), getenv("NEXMO_SECRET"));
            $client = new \Nexmo\Client($basic);
            $receiverNumber = "91846XXXXX";
            $message = "This is testing from";
            $message = $client->message()->send([
                'to' => $receiverNumber,
                'from' => 'Vonage APIs',
                'text' => $message
            dd('SMS Sent Successfully.');
        } catch (Exception $e) {
            dd("Error: ". $e->getMessage());

Step 6 – Run Development Server

Open command prompt and run the following command to start developement server:

php artisan serve

Then open your browser and hit the following url on it:

Recommended Laravel Posts

Leave a Comment