Rumah rangka kerja php Laravel Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS

Nov 03, 2023 pm 04:40 PM
laravel Hantar SMS Penerimaan SMS

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS memerlukan contoh kod khusus

Laravel ialah rangka kerja PHP yang popular di mana pelbagai fungsi boleh dilaksanakan dengan mudah, termasuk menghantar dan menerima SMS. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS, dan menyediakan contoh kod yang sepadan.

1. Pelaksanaan fungsi penghantaran SMS

  1. Mengkonfigurasi penyedia perkhidmatan SMS

Untuk menghantar SMS, anda perlu mengkonfigurasi pembekal perkhidmatan SMS terlebih dahulu. Pembekal perkhidmatan SMS biasa termasuk Alibaba Cloud, Tencent Cloud, dll. Di sini kami mengambil Alibaba Cloud SMS sebagai contoh.

Tambah konfigurasi berikut dalam fail .env:

ALIYUN_ACCESS_KEY_ID=your_access_key_id
ALIYUN_ACCESS_KEY_SECRET=your_access_key_secret
ALIYUN_SMS_SIGN_NAME=your_sms_sign_name
ALIYUN_SMS_TEMPLATE_CODE=your_sms_template_code
Salin selepas log masuk

Ganti your_access_key_id dan your_access_key_secret dengan Alibaba Cloud AccessKey ID dan AccessKey Secret gantikan your_sms_sign_name /code> dengan nama tandatangan SMS anda; gantikan <code>your_sms_template_code dengan kod templat SMS anda. your_access_key_idyour_access_key_secret替换为你的阿里云的AccessKey ID和AccessKey Secret;将your_sms_sign_name替换为你的短信签名名称;将your_sms_template_code替换为你的短信模板代码。

  1. 创建发送短信的方法

在app/Http/Controllers目录下创建SmsController.php文件,并添加以下代码:

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;
 
class SmsController extends Controller
{
    public function sendSms(Request $request)
    {
        $phoneNumber = $request->input('phone_number');
        $code = $request->input('code');
 
        AlibabaCloud::accessKeyClient(
            config('app.aliyun_access_key_id'),
            config('app.aliyun_access_key_secret')
        )
        ->regionId('cn-hangzhou')
        ->asDefaultClient();
 
        try {
            $result = AlibabaCloud::rpc()
                                ->product('Dysmsapi')
                                ->host('dysmsapi.aliyuncs.com')
                                ->version('2017-05-25')
                                ->action('SendSms')
                                ->method('POST')
                                ->options([
                                    'query' => [
                                        'PhoneNumbers' => $phoneNumber,
                                        'SignName' => config('app.aliyun_sms_sign_name'),
                                        'TemplateCode' => config('app.aliyun_sms_template_code'),
                                        'TemplateParam' => json_encode([
                                            'code' => $code,
                                        ]),
                                    ],
                                ])
                                ->request();
 
            return response()->json([
                'message' => 'SMS sent successfully',
                'result' => $result->toArray(),
            ]);
        } catch (ClientException $e) {
            return response()->json([
                'message' => 'Client exception occurred',
                'error' => $e->getErrorMessage(),
            ], 500);
        } catch (ServerException $e) {
            return response()->json([
                'message' => 'Server exception occurred',
                'error' => $e->getErrorMessage(),
            ], 500);
        }
    }
}
Salin selepas log masuk
  1. 配置路由

在routes/web.php文件中添加以下代码:

Route::post('/sms/send', 'SmsController@sendSms');
Salin selepas log masuk
  1. 发送短信

可以通过发送POST请求到/sms/send路由来发送短信。请求参数中需要包含phone_numbercode参数。例如,可以使用Postman工具发送以下请求:

POST /sms/send HTTP/1.1
Host: your-domain.com
Content-Type: application/json
Authorization: Bearer your-token
Content-Length: 68
 
{
    "phone_number": "your-phone-number",
    "code": "123456"
}
Salin selepas log masuk

以上示例中,将your-domain.com替换为你的域名,your-token替换为你的认证令牌,your-phone-number替换为要接收短信的手机号。

二、短信接收功能的实现

要实现短信接收功能,可以使用第三方短信平台提供的API接口。这里以云片网为例进行讲解。

  1. 注册云片网账号

首先需要在云片网上注册账号,然后登录并获取API key。

  1. 创建接收短信的方法

在app/Http/Controllers目录下创建SmsController.php文件,并添加以下代码:

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use IlluminateSupportFacadesHttp;
 
class SmsController extends Controller
{
    public function receiveSms(Request $request)
    {
        $content = $request->input('content');
        $phoneNumber = $request->input('phone_number');
 
        // 处理短信内容的逻辑
 
        // 返回响应
        return response('success');
    }
}
Salin selepas log masuk
  1. 配置路由

在routes/web.php文件中添加以下代码:

Route::post('/sms/receive', 'SmsController@receiveSms');
Salin selepas log masuk
  1. 接收短信

可以通过发送POST请求到/sms/receive路由来接收短信。请求参数中需要包含contentphone_number

    Buat kaedah untuk menghantar SMS

    Buat fail SmsController.php dalam direktori app/Http/Controllers dan tambah kod berikut:

    rrreee
      🎜 Konfigurasikan penghalaan 🎜🎜🎜Tambah kod berikut dalam fail route/web.php: 🎜rrreee
        🎜Penghantaran SMS 🎜🎜🎜 boleh dilakukan dengan menghantar permintaan POST ke /sms/send laluan menghantar mesej teks. Parameter permintaan perlu memasukkan parameter phone_number dan code. Sebagai contoh, anda boleh menggunakan alat Posmen untuk menghantar permintaan berikut: 🎜rrreee🎜Dalam contoh di atas, gantikan your-domain.com dengan nama domain anda dan your-token dengan token Pengesahan anda, gantikan nombor-telefon anda dengan nombor telefon mudah alih untuk menerima mesej teks. 🎜🎜2. Pelaksanaan fungsi penerimaan SMS 🎜🎜Untuk melaksanakan fungsi penerimaan SMS, anda boleh menggunakan antara muka API yang disediakan oleh platform SMS pihak ketiga. Di sini kami mengambil Yunpian.com sebagai contoh untuk menjelaskan. 🎜🎜🎜Daftar akaun Yunpian.com🎜🎜🎜Mula-mula anda perlu mendaftar akaun di Yunpian.com, kemudian log masuk dan dapatkan kunci API. 🎜
          🎜Buat kaedah untuk menerima SMS 🎜🎜🎜Buat fail SmsController.php dalam direktori app/Http/Controllers dan tambah kod berikut: 🎜rrreee
            🎜 Konfigurasikan penghalaan 🎜🎜🎜Tambah kod berikut dalam fail route/web.php: 🎜rrreee
              🎜Menerima SMS 🎜🎜🎜 boleh dilakukan dengan menghantar permintaan POST ke /sms/ menerima laluan Terima mesej teks. Parameter permintaan perlu memasukkan parameter kandungan dan phone_number. Logik pemprosesan kandungan SMS khusus perlu ditulis mengikut dokumen antara muka. 🎜🎜Sebagai contoh, kandungan mesej teks yang diterima boleh diproses dengan menghubungi antara muka API pihak ketiga. 🎜🎜Di atas ialah kaedah dan contoh kod khusus menggunakan rangka kerja Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS. Anda boleh mengubah suai dan memanjangkannya mengikut keperluan sebenar anda. Harap ini membantu! 🎜

Atas ialah kandungan terperinci Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan SMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Laravel - Konsol Artisan Laravel - Konsol Artisan Aug 27, 2024 am 10:51 AM

Laravel - Artisan Console - Rangka kerja Laravel menyediakan tiga alat utama untuk interaksi melalui baris arahan iaitu: Artisan, Ticker dan REPL. Bab ini menerangkan tentang Artisan secara terperinci.

Laravel - Penyesuaian Penomboran Laravel - Penyesuaian Penomboran Aug 27, 2024 am 10:51 AM

Laravel - Penyesuaian Penomboran - Laravel termasuk ciri penomboran yang membantu pengguna atau pembangun menyertakan ciri penomboran. Paginator Laravel disepadukan dengan pembina pertanyaan dan ORM Fasih. Kaedah penomboran automatik

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

See all articles