


CakePHP-Middleware: Integrieren Sie E-Mail- und SMS-Dienste, um Nachrichtenbenachrichtigungen zu implementieren
Jul 28, 2023 am 11:13 AMCakePHP-Middleware: Integrieren Sie E-Mail- und SMS-Dienste, um Nachrichtenbenachrichtigungen zu implementieren
Einführung:
In modernen Webanwendungen sind Nachrichtenbenachrichtigungen eine sehr wichtige Funktion. Benutzer müssen wichtige Informationen vom System erhalten, z. B. erfolgreiche Registrierung, Zurücksetzen des Passworts, Aktualisierungen des Bestellstatus usw. Um diese Funktionalit?t zu erreichen, ist die Integration von E-Mail- und SMS-Diensten zu einem g?ngigen Ansatz geworden. In diesem Artikel werde ich die Verwendung der CakePHP-Middleware zur Implementierung der Nachrichtenbenachrichtigungsfunktion vorstellen und einige spezifische Codebeispiele bereitstellen.
- Umgebungsvorbereitung:
Zuerst müssen wir sicherstellen, dass das CakePHP-Framework korrekt installiert und konfiguriert wurde. Darüber hinaus ben?tigen wir gültige API-Schlüssel für E-Mail- und SMS-Dienstanbieter. In diesem Artikel verwende ich Mailgun als E-Mail-Dienstanbieter und Twilio als SMS-Dienstanbieter. - Mail-Dienst konfigurieren:
In CakePHP k?nnen wir den von Mailgun bereitgestellten E-Mail-Dienst nutzen, indem wir SMTP-Einstellungen in der Datei config/app.php konfigurieren.
// app.php 'EmailTransport' => [ 'default' => [ 'className' => 'CakeMailerTransportMailgunTransport', 'apiKey' => 'YOUR_MAILGUN_API_KEY', 'domain' => 'YOUR_MAILGUN_DOMAIN', 'url' => 'YOUR_MAILGUN_API_URL', ], ],
Wir müssen YOUR_MAILGUN_API_KEY
, YOUR_MAILGUN_DOMAIN
und YOUR_MAILGUN_API_URL
durch die tats?chlichen Werte ersetzen. YOUR_MAILGUN_API_KEY
、YOUR_MAILGUN_DOMAIN
和YOUR_MAILGUN_API_URL
替換為實(shí)際的值。
- 配置短信服務(wù):
對于短信服務(wù),我們將使用Twilio提供的API。在CakePHP中,我們可以通過在config/app.php文件中配置Twilio設(shè)置來使用他們的服務(wù)。
// app.php 'Twilio' => [ 'sid' => 'YOUR_TWILIO_SID', 'token' => 'YOUR_TWILIO_TOKEN', 'sender' => 'YOUR_TWILIO_PHONE_NUMBER', ],
同樣,我們需要將YOUR_TWILIO_SID
、YOUR_TWILIO_TOKEN
和YOUR_TWILIO_PHONE_NUMBER
- SMS-Dienst konfigurieren:
// src/Middleware/NotificationMiddleware.php namespace AppMiddleware; use CakeMailerMailerAwareTrait; use CakeMailerEmail; use TwilioRestClient; class NotificationMiddleware { use MailerAwareTrait; public function __invoke($request, $response, $next) { // 執(zhí)行下一個中間件之前的代碼 // ... // 發(fā)送電子郵件 $this->getMailer('Default')->send('notification', [$data]); // 發(fā)送短信 $twilio = new Client(getenv('TWILIO_SID'), getenv('TWILIO_TOKEN')); $twilio->messages->create( $phoneNumber, [ 'from' => getenv('TWILIO_SENDER'), 'body' => $message, ] ); // 執(zhí)行下一個中間件之后的代碼 // ... return $next($request, $response); } }
Ebenso müssen wir // config/bootstrap.php use AppMiddlewareNotificationMiddleware; use CakeHttpMiddlewareQueue; $middlewareQueue = new MiddlewareQueue(); $middlewareQueue->add(new NotificationMiddleware()); // 替換原有的middlewareQueue // ... // 設(shè)置新的middlewareQueue $application->setMiddleware($middlewareQueue);
Im Code verwenden wir das MailerAwareTrait, das mit CakePHP geliefert wird, um E-Mails zu versenden. Wir haben auch eine SMS über die Twilio-API gesendet. ?notification“ im Code stellt die E-Mail-Vorlage dar, die wir im Mailers-Verzeichnis erstellt haben, und $data stellt die an die E-Mail-Vorlage übergebenen Daten dar. Middleware registrieren:Damit die Middleware funktioniert, müssen wir sie bei der Anwendung registrieren. Wir k?nnen dies tun, indem wir der Datei bootstrap.php den folgenden Code hinzufügen:
rrreee??Auf diese Weise registrieren wir die NotificationMiddleware in der Middleware-Warteschlange der Anwendung. ????Fazit: ??Durch die Verwendung der CakePHP-Middleware k?nnen wir E-Mail- und SMS-Dienste problemlos integrieren, um Nachrichtenbenachrichtigungsfunktionen zu implementieren. Dieser Artikel enth?lt einige Codebeispiele, die Ihnen hoffentlich dabei helfen werden, ?hnliche Funktionen in Ihren eigenen Projekten zu implementieren. Selbstverst?ndlich k?nnen Sie diese Codes auch nach Ihren Bedürfnissen erweitern und anpassen. Viel Glück beim Erstellen leistungsstarker und umfassender Webanwendungen mit CakePHP! ??Das obige ist der detaillierte Inhalt vonCakePHP-Middleware: Integrieren Sie E-Mail- und SMS-Dienste, um Nachrichtenbenachrichtigungen zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
- Für den SMS-Dienst verwenden wir die von Twilio bereitgestellte API. In CakePHP k?nnen wir ihre Dienste nutzen, indem wir die Twilio-Einstellungen in der Datei config/app.php konfigurieren.
YOUR_TWILIO_SID
, YOUR_TWILIO_TOKEN
und YOUR_TWILIO_PHONE_NUMBER
durch die tats?chlichen Werte ersetzen. - Jetzt k?nnen wir mit dem Schreiben der CakePHP-Middleware beginnen, um die Nachrichtenbenachrichtigungsfunktion zu implementieren. Zuerst erstellen wir eine Datei mit dem Namen NotificationMiddleware.php und legen sie im Verzeichnis src/Middleware ab.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, L?schen) verstehen.

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

Wie kann ich Nachrichtenbenachrichtigungen im Xiaomi-Browser deaktivieren? Der Xiaomi-Browser benachrichtigt Sie automatisch über die aktuellsten Informationen, aber viele Freunde wissen nicht, wie sie Nachrichtenbenachrichtigungen deaktivieren k?nnen. Als N?chstes zeigt der Editor den Spielern, wie sie Nachrichtenbenachrichtigungen in Xiaomi deaktivieren k?nnen Browser. Interessierte Spieler kommen vorbei und schauen sich das an! So deaktivieren Sie Xiaomi-Browser-Nachrichtenbenachrichtigungen: 1. ?ffnen Sie zun?chst die Funktion [Browser] im Xiaomi-Mobiltelefon und geben Sie in der unteren rechten Ecke der Hauptseite [Mein] ein, um den speziellen Bereich aufzurufen. 2. Anschlie?end wird die Funktionsleiste erweitert Klicken Sie unten auf der rechten Seite der Avatar-Funktion auf [Einstellungen]. Klicken Sie dann auf der Einstellungsfunktionsseite auf [Nachrichtenbenachrichtigungsverwaltung]. 4. Schieben Sie abschlie?end die Schaltfl?che hinter [Nachrichtenbenachrichtigung empfangen], um die Nachrichtenbenachrichtigung zu deaktivieren.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie k?nnen Fehler, Ausnahmen, Benutzeraktivit?ten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Dieses Kapitel befasst sich mit den Informationen zum Authentifizierungsprozess, der in CakePHP verfügbar ist.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.
