
Teilen Sie:
Als ausgebildeter Schauspieler mit einer Dissertation in Standup-Comedy bin ich über die Meetup-Szene zur PHP-Entwicklung gekommen. Man findet mich, wenn ich über Technik spreche oder schreibe, oder wenn ich seltsame Platten aus meiner Vinylsammlung spiele oder kaufe.
Versenden von SMS-Nachrichten mit PHP
Lesedauer: 3 Minuten
Dieser Artikel wurde im August 2025 aktualisiert.
In diesem Tutorial werden wir SMS-Nachrichten mit so wenigen PHP-Zeilen wie möglich versenden. Erstens mit einem Rohskript und zweitens mit einem minimalen Webanwendungs-Framework.
Voraussetzungen
PHP 8.1+
Composerfür die Paketverwaltung
Ein Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto.
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
Wie man Text mit Raw PHP sendet
Wir beginnen mit der Erstellung eines neuen Composer-Projekts und der Einbindung des Vonage PHP SDK. Fügen Sie über die Befehlszeile Folgendes hinzu:
mkdir vonage-sms
cd vonage-sms
composer initComposer wird Ihnen eine Reihe von Fragen stellen - Sie können diese alle auf den Standardwerten belassen, da wir nur das absolute Minimum an Aufwand betreiben. Der Prozess sollte Ihre composer.json Datei erstellen. Jetzt können wir das Vonage PHP SDK hinzufügen:
composer require vonage/clientJetzt erstellen wir unser Skript.
touch send-sms.phpÖffnen Sie die neue PHP-Datei und vergewissern Sie sich, dass das Autoload von Composer aktiviert ist:
<?php
require_once './vendor/autoload.php';
Um eine SMS zu versenden, benötigen wir drei Dinge:
Eine Reihe von Anmeldedaten aus dem Vonage Dashboard
Ein Client-Objekt
Ein Text zum Senden
In diesem Fall sind die letzten Zeilen des Codes wie folgt:
$credentials = new \Vonage\Client\Credentials\Basic(YOUR_API_KEY, YOUR_API_SECRET);
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
'Hello from Vonage!'
);
$client->messages()->send($message);Fügen Sie die erforderlichen Angaben in die Platzhalter für konstante Variablen ein und klicken Sie auf Senden:
Our SMS has been sent!
Vier Zeilen Code sind ziemlich gut! Der zweite Teil besteht darin, dies in ein grundlegendes Web-Framework einzubinden, so dass Sie eine Nachricht POSTEN können, anstatt sie hart zu kodieren, wie wir es oben getan haben.
Wie sende ich SMS über. Schlankes Framework
Für das zweite Beispiel werden wir das Slim-Frameworkverwenden, also installieren Sie es mit Composer:
composer require slim/slim:"4".*
composer require slim/psr7Der zweite Befehl hier installiert die PSR-7-Implementierung (Request Interface) von Slim. Wir werden eine Route erstellen, die eine POST-Anfrage mit einem JSON-Body, der einen Text enthält, annimmt.
Hier ist die geänderte send-sms.php Datei:
<?php
use Slim\Psr7\Request;
use Slim\Psr7\Response;
require_once '../vendor/autoload.php';
$app = \Slim\Factory\AppFactory::create();
$app->post('/send', function (Request $request, Response $response) {
$rawBody = $request->getBody()->getContents();
$requestData = json_decode($rawBody);
$text = $requestData->text;
$credentials = new \Vonage\Client\Credentials\Basic('232130c9', 's09IJad98fa0t9j09ad8fa90s');
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
$text
);
$client->messages()->send($message);
$response->getBody()->write("Vonage sent this text!");
return $response;
});
$app->run();Anstatt diesen Code auszuführen, verwenden wir zum Mocking eine Webplattform. Wir werden also den in PHP integrierten Webserver verwenden, um eine Entwicklungsumgebung von der Befehlszeile aus zu starten:
php -S localhost:8888 -t send-php.phpUm die Nachricht zu senden, benötigen Sie einen HTTP-Tooling-Client, der das Senden von POST-Anfragen erleichtert. Insomnia aber Sie könnten auch Postman oder sogar eine einfache cURL-Anfrage verwenden.
API Tooling is super helpful
Schlussfolgerung
Jetzt haben wir eine Route, über die Sie den Nachrichtentext an einen Server senden können, damit dieser den Vorgang abschließt. Sie können natürlich zusätzliche Schlüssel zur JSON-Nutzlast hinzufügen, um die Absender- und Empfängerzellennummern hinzuzufügen. Haben Sie Lust, etwas daraus zu machen? Sehen Sie sich unsere Laravel-Integration oder lesen Sie weiter über das Senden von Nachrichten mit dieser API in Symfony.
Haben Sie Fragen oder Anmerkungen? Treten Sie unserer florierenden Entwickler-Community auf Slackoder folgen Sie uns auf X (früher Twitter), oder abonnieren Sie unseren Entwickler-Newsletter. Bleiben Sie mit uns in Verbindung, teilen Sie Ihre Fortschritte mit uns und halten Sie sich über die neuesten Nachrichten, Tipps und Veranstaltungen für Entwickler auf dem Laufenden!
Zusätzliche Ressourcen
SMS-Versand aus PHP mit Failover: Die Cupcake-Bäckerei
Typsicherheit richtig gemacht - PHP Array Hacking
Teilen Sie:
Als ausgebildeter Schauspieler mit einer Dissertation in Standup-Comedy bin ich über die Meetup-Szene zur PHP-Entwicklung gekommen. Man findet mich, wenn ich über Technik spreche oder schreibe, oder wenn ich seltsame Platten aus meiner Vinylsammlung spiele oder kaufe.
