Rumah > rangka kerja php > ThinkPHP > Bagaimana untuk menghantar mesej teks dalam ThinkPHP6?

Bagaimana untuk menghantar mesej teks dalam ThinkPHP6?

王林
Lepaskan: 2023-06-12 08:57:26
asal
1318 orang telah melayarinya

Dengan perkembangan pesat Internet mudah alih, komunikasi SMS telah menjadi cara yang sangat penting untuk orang ramai berkomunikasi dalam kehidupan seharian. Dalam banyak senario, kita perlu menggunakan fungsi penghantaran SMS untuk kod pengesahan, pemasaran dan operasi lain. Dalam rangka kerja ThinkPHP6, kami boleh melaksanakan operasi penghantaran SMS dengan mudah melalui konfigurasi dan panggilan mudah.

Pertama, kita perlu mengkonfigurasi platform SMS dalam sms.php dalam direktori konfigurasi fail konfigurasi. Di sini kami mengambil perkhidmatan SMS Awan Alibaba sebagai contoh. Dalam fail konfigurasi, anda perlu mengkonfigurasi ID AccessKey, Rahsia AccessKey, tandatangan dan templat platform SMS. Kod khusus adalah seperti berikut:

<?php

return [
    'aliyun' => [
        'access_key_id' => '填写AccessKey',
        'access_key_secret' => '填写AccessKey Secret',
        'sign_name' => '填写短信签名',
        'template_code' => [
            'verify' => '填写短信模板CODE',
        ]
    ],
];
Salin selepas log masuk

Seterusnya, kita perlu memasang pakej pengembangan SDK. Memandangkan perkhidmatan SMS Alibaba Cloud memerlukan Alibaba Cloud SDK untuk sokongan PHP, kami perlu memasangnya melalui Composer. Masukkan arahan berikut dalam baris arahan:

composer require alibabacloud/sdk
Salin selepas log masuk

Selepas pemasangan berjaya, kita boleh mula memanggil fungsi penghantaran SMS. Dalam pengawal, kita boleh melaksanakan penghantaran SMS melalui kod berikut:

<?php

namespace appcontroller;

use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;
use thinkacadeConfig;

class Sms
{
    /**
     * 发送短信验证码
     * @param string $mobile 手机号码
     * @param string $code 验证码
     * @return bool 是否发送成功
     */
    public function sendVerifySms($mobile, $code)
    {
        //获取配置信息
        $config = Config::get('sms.aliyun');
        //设置短信模板参数
        $templateParam = [
            'code' => $code
        ];
        try {
            //调用阿里云短信发送接口
            $result = AlibabaCloud::rpc()
                ->product('Dysmsapi')
                //可根据实际情况选择不同的服务地区
                ->regionId('cn-hangzhou')
                ->version('2017-05-25')
                ->action('SendSms')
                ->method('POST')
                ->host('dysmsapi.aliyuncs.com')
                ->options([
                    'query' => [
                        'RegionId' => 'cn-hangzhou',
                        'PhoneNumbers' => $mobile,
                        'SignName' => $config['sign_name'],
                        'TemplateCode' => $config['template_code']['verify'],
                        'TemplateParam' => json_encode($templateParam),
                    ],
                ])
                ->request();
            //判断短信发送状态
            if ($result->toArray()['Code'] == 'OK') {
                return true;
            } else {
                return false;
            }
        } catch (ClientException $e) {
            return false;
        } catch (ServerException $e) {
            return false;
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, mula-mula kita membaca maklumat konfigurasi platform SMS daripada fail konfigurasi, kemudian tetapkan parameter templat SMS, dan akhirnya hubungi antara muka Hantar SMS Awan Alibaba. Semasa proses panggilan antara muka, kita perlu menetapkan nombor telefon mudah alih, tandatangan SMS, KOD templat SMS, parameter templat SMS dan maklumat lain. Selepas antara muka berjaya dipanggil, kami boleh menentukan sama ada mesej teks berjaya dihantar dengan menilai kod status yang dikembalikan.

Ringkasnya, melaksanakan fungsi penghantaran SMS dalam rangka kerja ThinkPHP6 adalah agak mudah, hanya memerlukan konfigurasi dan panggilan ringkas. Semasa penggunaan, anda perlu memberi perhatian untuk melindungi maklumat peribadi seperti AccessKey dan Rahsia AccessKey. Pada masa yang sama, semasa memanggil antara muka, anda juga perlu memberi perhatian kepada pengendalian pengecualian untuk mengelakkan pengecualian program akibat kegagalan panggilan antara muka.

Atas ialah kandungan terperinci Bagaimana untuk menghantar mesej teks dalam ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan