>  기사  >  PHP 프레임워크  >  Laravel에서 문자 메시지를 보내는 방법

Laravel에서 문자 메시지를 보내는 방법

PHPz
PHPz원래의
2023-04-21 11:20:48820검색

Laravel은 개발자가 웹 애플리케이션을 더 빠르게 구축할 수 있도록 일련의 편리한 기능을 제공하는 매우 인기 있는 오픈 소스 PHP 프레임워크입니다. 그 중 하나가 문자 메시지를 보내는 것입니다. 이번 글에서는 Laravel을 사용하여 SMS를 보내는 방법을 알아 보겠습니다.

Laravel에서는 SMS 서비스 제공업체의 API를 사용하여 SMS 메시지를 보낼 수 있습니다. 일반적으로 사용되는 SMS 서비스 제공업체에는 Twilio, Nexmo 및 Plivo가 있습니다. 이 기사에서는 Twilio를 SMS 서비스 제공업체로 채택하겠습니다.

Twilio를 사용하여 문자 메시지를 보내려면 Twilio SDK를 설치해야 합니다. Composer를 사용하여 설치할 수 있습니다. 터미널에서 다음 명령을 입력합니다.

composer require twilio/sdk

설치가 완료되면 config/app.php 구성 파일에 다음 콘텐츠를 추가합니다.

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

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

이렇게 하면 Twilio SDK가 Laravel 애플리케이션에 추가됩니다.

다음으로 Twilio 계정 정보를 설정해야 합니다. .env 파일에 다음 콘텐츠를 추가합니다.

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

여기서 your-account-sid 및 your-auth-token은 Twilio 계정의 SID 및 인증 토큰이고, your-twilio-phone-number는 Twilio 계정의 전화번호입니다. 숫자.

다음으로 문자 메시지를 보내는 코드를 작성해 보겠습니다. Laravel 애플리케이션에서는 컨트롤러에서 다음 코드를 사용하여 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') // 短信内容
        ]
    );
  }
}

위 코드에서는 먼저 .env 파일에서 Twilio 계정 정보를 가져온 다음 Twilio 클라이언트를 생성하여 SMS를 보냅니다.

코드의 $message 변수는 보내려는 문자 메시지의 내용이고, $recipient 변수는 문자 메시지를 보내고 싶은 수신자의 전화번호입니다. 여기서는 양식에 message라는 입력 상자와 receive라는 입력 상자가 있다고 가정합니다.

Laravel의 양식 유효성 검사 기능은 양식 입력이 유효한지 확인할 수 있습니다. 예를 들어, 양식 입력의 유효성을 검사하기 위해 컨트롤러의 저장 방법에 다음 코드를 삽입할 수 있습니다.

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') // 短信内容
        ]
    );
  }
}

이 유효성 검사를 통해 수신자 필드와 메시지 필드가 모두 채워졌는지 확인할 수 있습니다.

양식에 문자 메시지 내용을 입력하고 보내기 버튼을 클릭하면 SMSController의 sendSMS 메서드가 호출되고 sendSMS 메서드는 Twilio SDK를 사용하여 문자 메시지를 보냅니다.

Summary

이 기사에서는 Laravel에서 Twilio를 사용하여 SMS를 보내는 방법을 배웠습니다. 몇 줄의 코드만으로 애플리케이션에 SMS 기능을 쉽게 추가하여 애플리케이션을 더욱 강력하고 풍부하며 사용하기 쉽게 만들 수 있습니다.

위 내용은 Laravel에서 문자 메시지를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.