Aktueller Standort: Startseite> Neueste Artikel> CakePhp Middleware integriert Mail- und SMS -Dienste, um automatisierte Nachrichtenbenachrichtigungsfunktionen zu realisieren

CakePhp Middleware integriert Mail- und SMS -Dienste, um automatisierte Nachrichtenbenachrichtigungsfunktionen zu realisieren

M66 2025-06-29

Einführung

In modernen Webanwendungen ist die Nachrichtenbenachrichtigungsfunktionalität von entscheidender Bedeutung. Unabhängig davon, ob es sich bei der Registrierung von Benutzern, dem Zurücksetzen oder Bestellaktualisierungen des Kennworts oder Bestellaktualisierungen handelt, sind Benachrichtigungen ein unverzichtbarer Bestandteil der Benutzererfahrung. In diesem Artikel wird vorgestellt, wie Sie CakePHP Middleware verwenden, um E -Mail- und SMS -Dienste zu integrieren, um automatisierte Nachrichtenbenachrichtigungsfunktionen zu erzielen.

Umweltvorbereitung

Stellen Sie zunächst sicher, dass Sie das CakePHP -Framework richtig installiert und konfiguriert haben. Darüber hinaus benötigen Sie einen gültigen E -Mail- und SMS -Service -Anbieter -API -Schlüssel. In diesem Beispiel verwenden wir Mailgun als Mail -Dienstleister und Twilio als SMS -Dienstanbieter.

E -Mail -Service konfigurieren

In CakePHP können wir den von MailGun bereitgestellten E -Mail -Dienst verwenden, indem wir die SMTP -Einstellungen in der Datei config/app.php konfigurieren. Hier ist ein Beispiel für die Konfiguration von Mailgun:

 // app.php
'EmailTransport' => [
    'default' => [
        'className' => 'CakeMailerTransportMailgunTransport',
        'apiKey' => 'YOUR_MAILGUN_API_KEY',
        'domain' => 'YOUR_MAILGUN_DOMAIN',
        'url' => 'YOUR_MAILGUN_API_URL',
    ],
],

Bitte ersetzen Sie Ihre_mailgun_api_key , Ihre_mailgun_domain und Ihre_mailgun_api_url mit tatsächlichen Werten.

SMS -Dienst konfigurieren

Für SMS -Dienste werden wir die von Twilio bereitgestellte API verwenden. In CakePHP können Sie es implementieren, indem Sie die relevanten Einstellungen von Twilio in config/app.php konfigurieren:

 // app.php
'Twilio' => [
    'sid' => 'YOUR_TWILIO_SID',
    'token' => 'YOUR_TWILIO_TOKEN',
    'sender' => 'YOUR_TWILIO_PHONE_NUMBER',
],

Ersetzen Sie in ähnlicher Weise Ihre_twilio_sid , Ihr_twilio_Token und Ihre_twilio_Phone_Number mit tatsächlichen Werten.

Middleware erstellen

Als nächstes schreiben wir eine Middleware -Datei namens NotificationMiddleware.php für die Verarbeitung von Nachrichtenbenachrichtigungsfunktionen. Die Datei sollte im Verzeichnis SRC/Middleware platziert werden:

 // src/Middleware/NotificationMiddleware.php
namespace AppMiddleware;

use CakeMailerMailerAwareTrait;
use CakeMailerEmail;
use TwilioRestClient;

class NotificationMiddleware
{
    use MailerAwareTrait;

    public function __invoke($request, $response, $next)
    {
        // Code vor dem Ausführen der nächsten Middleware

        // Senden Sie eine E -Mail
        $this->getMailer('Default')->send('notification', [$data]);

        // Senden einer Textnachricht
        $twilio = new Client(getenv('TWILIO_SID'), getenv('TWILIO_TOKEN'));
        $twilio->messages->create(
            $phoneNumber,
            [
                'from' => getenv('TWILIO_SENDER'),
                'body' => $message,
            ]
        );

        // Code nach der Ausführung der nächsten Middleware
        return $next($request, $response);
    }
}

Im Code verwendeten wir den Mailerawaretrait, der mit CakePhp ausgestattet ist, E -Mails. Senden Sie Textnachrichten über die API von Twilio. 'Benachrichtigung' repräsentiert die E -Mail -Vorlage, die wir im Mailers -Verzeichnis erstellt haben, und $ Daten sind die Daten, die an die E -Mail -Vorlage übergeben wurden.

Middleware registrieren

Damit die Middleware wirksam werden kann, müssen Sie sie in der Datei config/bootstrap.php registrieren:

 // config/bootstrap.php
use AppMiddlewareNotificationMiddleware;
use CakeHttpMiddlewareQueue;

$middlewareQueue = new MiddlewareQueue();
$middlewareQueue->add(new NotificationMiddleware());

// Richten Sie eine neue einmiddlewareQueue
$application->setMiddleware($middlewareQueue);

Dieser Code registriert die NotificationMiddleware in die Middleware -Warteschlange der Anwendung.

abschließend

Mit CakePhp Middleware können Sie problemlos E -Mail- und SMS -Dienste integrieren, um automatisierte Nachrichtenbenachrichtigungsfunktionen zu erreichen. Die in diesem Artikel angegebenen Codebeispiele können Ihnen helfen, ähnliche Funktionen in Ihren eigenen Projekten zu implementieren. Abhängig von Ihren Anforderungen können Sie diese Codes weiter erweitern oder anpassen, um Ihre spezifischen Anforderungen zu erfüllen.