SMS-Versand mit PHP: API-Bibliotheken von sms.ru und anderen Diensten

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 fertige Lösungen



In modernen Webanwendungen ist das Versenden von SMS-Nachrichten nach wie vor eine gefragte Funktion: Registrierungsbestätigung, Zwei-Faktor-Authentifizierung, Benachrichtigungen über den Bestellstatus. In diesem Artikel analysieren wir, wie Sie den SMS-Versand mit PHP mithilfe gängiger API-Bibliotheken und Dienste realisieren können. Wir betrachten sowohl offizielle SDKs als auch leichte Lösungen auf Basis von cURL.



1. Auswahl des SMS-Anbieters und der Bibliothek



Vor Beginn der Arbeit müssen Sie sich bei einem der SMS-Dienste registrieren und einen API-Schlüssel erhalten. Für PHP gibt es mehrere bewährte Optionen:



  • sms.ru – ein beliebter russischer Dienst mit einer einfachen API und einer offiziellen PHP-Bibliothek.
  • Twilio – ein internationaler Gigant mit einem leistungsstarken SDK für PHP (twilio/sdk).
  • ClickSend – ein universeller Dienst mit Unterstützung für die REST-API.
  • Einfache cURL-Klasse – falls Sie keine externen Abhängigkeiten einbinden möchten.


2. Installation der Bibliotheken über Composer



Für die Arbeit mit Twilio oder ClickSend ist die Verwendung von Composer am bequemsten. Installationsbeispiel:



composer require twilio/sdkcomposer require clicksend/clicksend-php


Für sms.ru wird die offizielle Bibliothek ebenfalls über Composer installiert:



composer require smsru/smsru


Wenn Sie keinen Abhängigkeitsmanager verwenden möchten, können Sie die PHP-Dateien manuell von GitHub herunterladen oder Ihre eigene Klasse auf Basis von cURL schreiben.



3. Beispiel für den SMS-Versand über sms.ru



Der Dienst sms.ru bietet eine einfache und verständliche API. Nachfolgend finden Sie ein Beispiel für das Senden einer Nachricht unter Verwendung der offiziellen Bibliothek:



<?phprequire_once 'vendor/autoload.php';

use SMSRU\\SMSRU;

$sms = new SMSRU('IHR_API_SCHLÜSSEL');

$data = new stdClass();$data->to = '79123456789'; // Empfängernummer$data->text = 'Testnachricht'; // SMS-Text$data->from = 'MySite'; // Absendername (Signatur)

$response = $sms->send_one($data);

if ($response->status == 'OK') { echo "Nachricht gesendet. ID: " . $response->sms_id;} else { echo "Fehler: " . $response->status_text;}?>


Wichtig: Sie müssen zuvor in Ihrem persönlichen Konto bei sms.ru die Absendersignatur registrieren und Ihr Guthaben aufladen.



4. SMS-Versand über das Twilio SDK



Twilio ist einer der zuverlässigsten Dienste für den internationalen Versand. Beispielcode in PHP:



<?phprequire_once 'vendor/autoload.php';

use Twilio\\Rest\\Client;

$account_sid = 'IHRE_ACCOUNT_SID';$auth_token = 'IHR_AUTH_TOKEN';$twilio_number = '+1234567890'; // Von Twilio erhaltene Nummer

$client = new Client($account_sid, $auth_token);

$message = $client->messages->create( '+79123456789', // Empfängernummer [ 'from' => $twilio_number, 'body' => 'Grüße von Twilio und PHP!' ]);

echo "Gesendet mit ID: " . $message->sid;?>


Twilio unterstützt bidirektionale Kommunikation, Webhooks und die Überprüfung des Lieferstatus.



5. Implementierung ohne externe Bibliotheken (cURL)



Wenn Sie Composer nicht einbinden möchten, können Sie eine universelle Funktion auf Basis von cURL schreiben. Beispiel für sms.ru:



<?phpfunction sendSms($api_key, $phone, $message) {    $url = 'https://sms.ru/sms/send';    $params = [        'api_id' => $api_key,        'to' => $phone,        'msg' => $message,        'json' => 1    ];

$ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch); curl_close($ch);

return json_decode($response, true);}

$result = sendSms('

Empfehlungen