Rumah pembangunan bahagian belakang tutorial php Perisian tengah CakePHP: Mengintegrasikan perkhidmatan e-mel dan SMS untuk melaksanakan pemberitahuan mesej

Perisian tengah CakePHP: Mengintegrasikan perkhidmatan e-mel dan SMS untuk melaksanakan pemberitahuan mesej

Jul 28, 2023 am 11:13 AM
perisian tengah cakephp Pemberitahuan mesej

Perisian tengah CakePHP: Mengintegrasikan perkhidmatan e-mel dan SMS untuk melaksanakan pemberitahuan mesej

Pengenalan:
Dalam aplikasi web moden, pemberitahuan mesej merupakan fungsi yang sangat penting. Pengguna perlu menerima maklumat penting daripada sistem, seperti pendaftaran yang berjaya, penetapan semula kata laluan, kemas kini status pesanan, dsb. Untuk mencapai fungsi ini, menyepadukan perkhidmatan e-mel dan SMS telah menjadi pendekatan biasa. Dalam artikel ini, saya akan memperkenalkan cara menggunakan middleware CakePHP untuk melaksanakan fungsi pemberitahuan mesej dan menyediakan beberapa contoh kod khusus.

  1. Persediaan persekitaran:
    Pertama, kita perlu memastikan rangka kerja CakePHP telah dipasang dan dikonfigurasikan dengan betul. Selain itu, kami perlu mempunyai kunci API penyedia perkhidmatan e-mel dan SMS yang sah. Dalam artikel ini, saya akan menggunakan Mailgun sebagai pembekal perkhidmatan mel dan Twilio sebagai pembekal perkhidmatan SMS.
  2. Konfigurasi Perkhidmatan Mel:
    Dalam CakePHP, kami boleh menggunakan perkhidmatan e-mel yang disediakan oleh Mailgun dengan mengkonfigurasi tetapan SMTP dalam fail config/app.php.
// app.php

'EmailTransport' => [
    'default' => [
        'className' => 'CakeMailerTransportMailgunTransport',
        'apiKey' => 'YOUR_MAILGUN_API_KEY',
        'domain' => 'YOUR_MAILGUN_DOMAIN',
        'url' => 'YOUR_MAILGUN_API_URL',
    ],
],
Salin selepas log masuk

Kami perlu menggantikan YOUR_MAILGUN_API_KEY, YOUR_MAILGUN_DOMAIN dan YOUR_MAILGUN_API_URL dengan nilai sebenar. YOUR_MAILGUN_API_KEYYOUR_MAILGUN_DOMAINYOUR_MAILGUN_API_URL替换为实际的值。

  1. 配置短信服务:
    对于短信服务,我们将使用Twilio提供的API。在CakePHP中,我们可以通过在config/app.php文件中配置Twilio设置来使用他们的服务。
// app.php

'Twilio' => [
    'sid' => 'YOUR_TWILIO_SID',
    'token' => 'YOUR_TWILIO_TOKEN',
    'sender' => 'YOUR_TWILIO_PHONE_NUMBER',
],
Salin selepas log masuk

同样,我们需要将YOUR_TWILIO_SIDYOUR_TWILIO_TOKENYOUR_TWILIO_PHONE_NUMBER

    Konfigurasikan perkhidmatan SMS:
      Untuk perkhidmatan SMS, kami akan menggunakan API yang disediakan oleh Twilio. Dalam CakePHP, kami boleh menggunakan perkhidmatan mereka dengan mengkonfigurasi tetapan Twilio dalam fail config/app.php.

    1. // src/Middleware/NotificationMiddleware.php
      
      namespace AppMiddleware;
      
      use CakeMailerMailerAwareTrait;
      use CakeMailerEmail;
      use TwilioRestClient;
      
      class NotificationMiddleware
      {
          use MailerAwareTrait;
      
          public function __invoke($request, $response, $next)
          {
              // 执行下一个中间件之前的代码
              // ...
      
              // 发送电子邮件
              $this->getMailer('Default')->send('notification', [$data]);
      
              // 发送短信
              $twilio = new Client(getenv('TWILIO_SID'), getenv('TWILIO_TOKEN'));
              $twilio->messages->create(
                  $phoneNumber,
                  [
                      'from' => getenv('TWILIO_SENDER'),
                      'body' => $message,
                  ]
              );
      
              // 执行下一个中间件之后的代码
              // ...
      
              return $next($request, $response);
          }
      }
      Salin selepas log masuk
    2. Begitu juga, kita perlu menggantikan YOUR_TWILIO_SID, YOUR_TWILIO_TOKEN dan YOUR_TWILIO_PHONE_NUMBER dengan nilai sebenar.

    Buat middleware:
      Kini, kita boleh mula menulis middleware CakePHP untuk melaksanakan fungsi pemberitahuan mesej. Mula-mula, kami mencipta fail bernama NotificationMiddleware.php dan meletakkannya dalam direktori src/Middleware.

    1. // config/bootstrap.php
      
      use AppMiddlewareNotificationMiddleware;
      use CakeHttpMiddlewareQueue;
      
      $middlewareQueue = new MiddlewareQueue();
      $middlewareQueue->add(new NotificationMiddleware());
      
      // 替换原有的middlewareQueue
      // ...
      
      // 设置新的middlewareQueue
      $application->setMiddleware($middlewareQueue);
      Salin selepas log masuk
      Dalam kod, kami menggunakan MailerAwareTrait yang disertakan dengan CakePHP untuk menghantar e-mel. Kami juga menghantar SMS melalui API Twilio. 'pemberitahuan' dalam kod mewakili templat e-mel yang kami buat dalam direktori Mailers dan $data mewakili data yang dihantar ke templat e-mel.

      Daftar middleware:

      Untuk membolehkan middleware berfungsi, kita perlu mendaftarkannya dengan aplikasi. Kita boleh melakukan ini dengan menambahkan kod berikut pada fail bootstrap.php:

      rrreee🎜Dengan cara ini, kami mendaftarkan NotificationMiddleware ke dalam baris gilir middleware aplikasi. 🎜🎜Kesimpulan: 🎜Dengan menggunakan perisian tengah CakePHP, kami boleh menyepadukan perkhidmatan e-mel dan SMS dengan mudah untuk melaksanakan fungsi pemberitahuan mesej. Artikel ini menyediakan beberapa contoh kod yang kami harap dapat membantu anda melaksanakan fungsi yang serupa dalam projek anda sendiri. Sudah tentu, anda juga boleh melanjutkan dan menyesuaikan kod ini mengikut keperluan anda. Semoga berjaya membina aplikasi web yang berkuasa dan berciri penuh dengan CakePHP! 🎜

      Atas ialah kandungan terperinci Perisian tengah CakePHP: Mengintegrasikan perkhidmatan e-mel dan SMS untuk melaksanakan pemberitahuan mesej. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Bagaimana untuk mematikan pemberitahuan mesej dalam penyemak imbas Xiaomi Bagaimana untuk mematikan pemberitahuan mesej dalam penyemak imbas Xiaomi Feb 24, 2024 pm 12:20 PM

Bagaimana untuk mematikan pemberitahuan mesej dalam Penyemak Imbas Xiaomi secara automatik akan memberitahu anda tentang maklumat terhangat, tetapi ramai rakan tidak tahu cara mematikan pemberitahuan mesej Seterusnya, editor membawa kepada pemain cara mematikan pemberitahuan mesej dalam Xiaomi Pelayar Tutorial, pemain yang berminat datang dan lihat! Cara mematikan pemberitahuan mesej dalam pelayar Xiaomi 1. Mula-mula buka fungsi [Penyemak imbas] dalam telefon bimbit Xiaomi, dan masukkan [Saya] di sudut kanan bawah halaman utama untuk memasuki kawasan khas 2. Kemudian bar fungsi akan kembangkan di bawah, klik [Tetapan] di sebelah kanan Fungsi avatar 3. Kemudian klik [Pengurusan Pemberitahuan Mesej] pada halaman fungsi tetapan 4. Akhir sekali, luncurkan butang di belakang [Terima Pemberitahuan Mesej] untuk mematikan pemberitahuan mesej .

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

See all articles