Home >PHP Framework >Laravel >How to send text messages in laravel

How to send text messages in laravel

PHPz
PHPzOriginal
2023-04-21 11:20:48865browse

Laravel is a very popular open source PHP framework that provides a series of convenient features that allow developers to build web applications faster. One of them is sending text messages. In this article, we will learn how to send SMS using Laravel.

In Laravel, we can send text messages by using the API of the SMS service provider. Commonly used SMS service providers include Twilio, Nexmo and Plivo. In this article, we will adopt Twilio as our SMS service provider.

Using Twilio to send text messages requires the Twilio SDK to be installed. You can use Composer to install it. On your terminal, enter the following command:

composer require twilio/sdk

Once the installation is complete, add the following content in the config/app.php configuration file:

'providers' => [
  ...
  Twilio\Rest\ClientServiceProvider::class,
],

'aliases' => [
  ...
  'Twilio' => Twilio\Rest\ClientFacade::class,
],

This will add the Twilio SDK to the Laravel application in process.

Next, we need to set up the Twilio account information. Add the following content in the .env file:

TWILIO_SID=your-account-sid
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_PHONE_NUMBER=your-twilio-phone-number

where your-account-sid and your-auth-token are the SID and Auth Token of your Twilio account, and your-twilio-phone-number is your The phone number for your Twilio account.

Next, we can write the code to send text messages. In our Laravel application, we can use the following code in the controller to send SMS:

use Illuminate\Http\Request;
use Twilio\Rest\Client;

class SMSController extends Controller
{
  public function sendSMS(Request $request)
  {
    $accountSid = env('TWILIO_SID');
    $authToken = env('TWILIO_AUTH_TOKEN');
    $twilioPhoneNumber = env('TWILIO_PHONE_NUMBER');

    $client = new Client($accountSid, $authToken);

    $client->messages->create(
        $request->input('recipient'), // 接收人的电话号码
        [
            'from' => $twilioPhoneNumber,
            'body' => $request->input('message') // 短信内容
        ]
    );
  }
}

In the above code, we first get the Twilio account information in the .env file, and then create a Twilio client by Send text messages.

The $message variable in the code is the content of the text message we want to send, and the $recipient variable is the phone number of the recipient we want to send the text message to. Here we assume that our form has an input box named message and an input box named recipient.

Laravel's form validation function can ensure that our form input is valid. For example, we can insert the following code in the controller's storage method to validate the form input:

use Illuminate\Http\Request;
use Twilio\Rest\Client;
use Illuminate\Support\Facades\Validator;

class SMSController extends Controller
{
  public function sendSMS(Request $request)
  {
    $validator = Validator::make($request->all(), [
        'recipient' => 'required',
        'message' => 'required',
    ]);

    if ($validator->fails()) {
        return redirect('sms')
                    ->withErrors($validator)
                    ->withInput();
    }

    $accountSid = env('TWILIO_SID');
    $authToken = env('TWILIO_AUTH_TOKEN');
    $twilioPhoneNumber = env('TWILIO_PHONE_NUMBER');

    $client = new Client($accountSid, $authToken);

    $client->messages->create(
        $request->input('recipient'), // 接收人的电话号码
        [
            'from' => $twilioPhoneNumber,
            'body' => $request->input('message') // 短信内容
        ]
    );
  }
}

With this validation, we can ensure that both the recipient field and the message field are filled out.

When we fill in the text message content in the form and click the send button, the sendSMS method in SMSController will be called, and the sendSMS method will use the Twilio SDK to send the text message.

Summary

In this article, we learned how to send SMS using Twilio in Laravel. With a few lines of code, we can easily add SMS functionality to our applications, making our applications more powerful, rich, and easy to use.

The above is the detailed content of How to send text messages in laravel. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn