Twilio + LaravelでSMS送信
Twilio + LaravelでSMS認証を実装する機会があったので記事に残します。
とりあえず最低限のコードなので、ローカルでのみ「こんなんで動くんだな~~」てな感じで動かしてください。
環境
名称 | バージョン |
---|---|
Laravel | v7.25.0 |
Composer | v1.10.8 |
PHP | v7.4.8 |
OSはWindows10です。
Twilioのアカウントの取得・登録方法等は以下をご覧ください。
無料のTwilioトライアルアカウントの使い方 - Twilio
最終的に、電話番号を取得できてSIDとTOKENが取得できれば大丈夫です。
最初のセットアップ
> composer create-project sms laravel/laravel
> cd sms
> composer require twilio/sdk
とりあえず、この二つを入れます。
ControllerとRoutingの設定
> php artisan make:controller SmsController
とすることで、SmsController
を作成することができます。
routing/web.phpでRoutingの編集をしていきます。
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
// 以下の行を追加
Route::get('/sms', 'SmsController@index');
こんな感じでよいと思います。
今回はなるべくシンプルなコードを求めるので、POST~とかにはしません。
.envにSIDとTOKENとTwilioで取得した電話番号を設定
TWILIO_SID=SIDを入力
TWILIO_TOKEN=AUTH_TOKENを入力
TWILIO_FROM=Twilioで取得した電話番号。+から。
入力後は念のため、
> php artisan config:clear
を実行してください。
Controller書いてくぞぉぉ。
Controllerも最小限でいきます。
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Twilio\Rest\Client; // 追加
class SmsController extends Controller
{
public function index()
{
$sid = env( 'TWILIO_SID' );
$token = env( 'TWILIO_TOKEN' );
$client = new Client( $sid, $token );
$message = 'hoge';
$for = '+0000000...'; //送信したい電話番号。+81とかから。
$client->messages->create(
$for,
[
'from' => env( 'TWILIO_FROM' ),
'body' => $message,
]
);
}
}
あとは、
> php artisan serve
で、ビルトインサーバーを立ち上げて/sms
にアクセスすればメッセージが届くはずです。
参考
エラー編
ssl certificate problem: unable to get local issuer certificate
ここを参考にしてください。
Author And Source
この問題について(Twilio + LaravelでSMS送信), 我々は、より多くの情報をここで見つけました https://qiita.com/kyoya0819/items/fc7ed397a211991f0b14著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .