SMS-Versand mit PHP: Überblick über API-Bibliotheken für die Integration

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

SMS-Versand mit PHP: Überblick über API-Bibliotheken und Integrationsbeispiele

Das Versenden von SMS-Nachrichten bleibt eine gefragte Funktion für Webanwendungen: Zwei-Faktor-Authentifizierung, Bestellbenachrichtigungen, Marketingkampagnen. In PHP wird diese Aufgabe über die API externer Dienste gelöst. In diesem Artikel betrachten wir gängige Bibliotheken, Möglichkeiten ihrer Einbindung und zeigen funktionierende Codebeispiele.



1. Gängige Dienste und ihre PHP-Bibliotheken

Die Wahl des Anbieters hängt von der Region, den Kosten und den Anforderungen an die Zustellung ab. Wir betrachten drei Optionen:

  • Twilio — internationaler Marktführer, stellt ein SDK für PHP bereit (twilio/sdk). Geeignet für globale Projekte.
  • SMS Aero — russischer Dienst mit einfacher REST API und offizieller PHP-Bibliothek.
  • smsc.ru — ein weiterer beliebter inländischer Dienst mit niedrigen Tarifen und fertigen Skripten.


2. Installation über Composer

Die meisten modernen Bibliotheken werden über Composer installiert. Beispiel für Twilio:

composer require twilio/sdk

Für SMS Aero verwenden Sie:

composer require smsaero/smsaero-php

Wenn Sie smsc.ru verwenden, können Sie auf Composer verzichten — kopieren Sie einfach deren PHP-Klasse von GitHub.



3. Beispiel für den SMS-Versand über Twilio

Die Twilio-Bibliothek benötigt Account SID und Auth Token, die Sie in Ihrem Konto erhalten.

<?phprequire_once 'vendor/autoload.php';

use Twilio\\Rest\\Client;

// Ihre Daten$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";$token = "your_auth_token";$twilio = new Client($sid, $token);

// SMS senden$message = $twilio->messages ->create( "+71234567890", // Empfängernummer [ "from" => "+15017122661", // Absendernummer (bei Twilio gekauft) "body" => "Hallo! Dies ist eine Test-SMS von Twilio." ] );

echo "Nachricht gesendet! SID: " . $message->sid;?>


4. SMS-Versand über SMS Aero (REST API)

SMS Aero verwendet API-Schlüssel und Login. Die Bibliothek bietet eine benutzerfreundliche Oberfläche:

<?phprequire_once 'vendor/autoload.php';

use Smsaero\\Smsaero;

$client = new Smsaero('your_email@example.com', 'your_api_key');

// Nachricht senden$response = $client->send('71234567890', 'Testnachricht von SMS Aero');

if ($response->success) { echo "SMS gesendet. ID: " . $response->id;} else { echo "Fehler: " . $response->error;}?>


5. Arbeiten mit smsc.ru (ohne Composer)

Für smsc.ru können Sie direkte HTTP-Anfragen oder deren vorgefertigte Klasse verwenden. Einfaches Beispiel über cURL:

<?php$login = "your_login";$password = "your_password";$phones = "71234567890";$message = "Hallo von smsc.ru!";

$url = "https://smsc.ru/sys/send.php?login=" . urlencode($login) . "&psw=" . urlencode($password) . "&phones=" . urlencode($phones) . "&mes=" . urlencode($message) . "&fmt=3"; // fmt=3 — Antwort im JSON-Format

$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$response = curl_exec($ch);curl_close($ch);

$data = json_decode($response, true);if ($data['error'] ?? false) { echo "Fehler: " . $data['error'];} else { echo "SMS gesendet. ID: " . $data['id'];}?>


6. Fehlerbehandlung und Protokollierung

Beim SMS-Versand ist es wichtig, Fehler korrekt zu behandeln. Typische Probleme:

  • Falsche Anmeldedaten (401 Unauthorized).
  • Nicht ausreichendes Guthaben.
  • Nummer auf der schwarzen Liste.
  • Überschreitung der Sende-Limits.

Beispiel für die Ausnahmebehandlung bei Twilio:

<?phptry {    $message = $twilio->messages->create(...);    // Erfolgsprotokollierung    error_log("SMS gesendet: " . $message-&g                    

Empfehlungen