Wie man mehrere SMS von Java aus sendet

Der einfachste Weg, SMS von Java aus zu versenden, ist die Verwendung der integrierten HTTP/Rest-SMS-API von Ozeki SMS Gateway. Wenn Sie diese API verwenden, senden Sie SMS-Nachrichten, indem Sie eine HTTP-Post-Anfrage an das SMS-Gateway stellen. Die HTTP-Post-Anfrage wird eine Nachricht im JSON-Format enthalten. Das SMS-Gateway wird diese SMS an die Empfängertelefonnummer senden und eine HTTP-200-OK-Antwort auf Ihre Anfrage zurückgeben.

wie man mehrere SMS von Java aus sendet
Abbildung 1 - Wie man mehrere SMS von Java aus sendet

Java-Code zum Senden mehrerer SMS an Mobiltelefone

Das Java-SMS-Codebeispiel unten zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway unter Verwendung der Java Ozeki.Libs.Rest-Bibliothek senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und modifizieren.

Main.java
import Ozeki.Libs.Rest.*;

public class Main {

    public static void main(String[] args) {

        var configuration = new Configuration();
        configuration.Username = "http_user";
        configuration.Password = "qwe123";
        configuration.ApiURL = "http://127.0.0.1:9509/api";

        var msg1 = new Message();
        msg1.ToAddress = "+36201111111";
        msg1.Text = "Hello world 1";

        var msg2 = new Message();
        msg2.ToAddress = "+36202222222";
        msg2.Text = "Hello world 2";

        var msg3 = new Message();
        msg3.ToAddress = "+36203333333";
        msg3.Text = "Hello world 3";

        var api = new MessageApi(configuration);
        
        var result = api.Send(new Message[] { msg1, msg2, msg3 });
        
        System.out.println(result);
    }
}
	

Wie man das Java-SMS-Beispiel verwendet:

Sie können die Message-Klasse verwenden, um die SMS zu erstellen, und Sie können die MessageApi-Klasse verwenden, um die SMS an das SMS-Gateway zu senden. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.

SendMultipleSms.java herunterladen

Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendMultipleSms.java.zip (90.1Kb)

Was befindet sich in der SendMultipleSms.java.zip-Datei?

Die SendMultipleSms.java.zip-Datei enthält die Ozeki-Bibliothek, die Ihnen alle notwendigen Tools zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden dort auch eine Main.java-Datei im Projekt, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS senden können. Dieser Beispielcode ist unten aufgeführt.

Abbildung 2 - SendMultipleSms.java-Verzeichnis

Wie man mehrere SMS von Java aus sendet (Schnelle Schritte)

Um mehrere SMS von Java aus zu senden:

  1. Installieren Sie Ozeki SMS Gateway
  2. Verbinden Sie Ozeki SMS Gateway mit dem Mobilfunknetz
  3. Senden Sie eine Test-SMS über die Ozeki GUI
  4. Erstellen Sie einen HTTP-SMS-API-Benutzer
  5. Apache NetBeans
  6. Erstellen Sie ein Projekt namens SendMultipleSms
  7. Fügen Sie den Code in eine neu erstellte Main.java-Datei ein oder verwenden Sie die Main.java-Datei in der .zip-Datei
  8. Erstellen Sie die SMS, indem Sie mehrere neue Message-Objekte erstellen
  9. Erstellen Sie eine API, um Ihre Nachricht zu senden
  10. Verwenden Sie die Send-Methode, um Ihre Nachrichten zu senden
  11. Lesen Sie die Antwortnachricht auf der Konsole
  12. Überprüfen Sie die Protokolle im SMS-Gateway

Installieren Sie Ozeki SMS Gateway und erstellen Sie einen HTTP-API-Benutzer

Um SMS von Java aus senden zu können, müssen Sie zunächst Ozeki SMS Gateway installieren. Das SMS-Gateway kann auf demselben Computer installiert werden, auf dem Sie Ihren Java-Code in Apache NetBeans entwickeln. Nach der Installation ist der nächste Schritt, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können Erstellung eines HTTP-SMS-API-Benutzerkontos. Erstellen Sie einen Benutzer mit dem Benutzernamen "http_user" und dem Passwort "qwe123", damit das Beispiel ohne Änderungen funktioniert.

Nachdem die Umgebung eingerichtet ist, können Sie Ihren Java-Code ausführen.

HTTP-API-URL zum Senden von SMS von Java aus

Um SMS von Java aus zu senden, muss Ihre Java-Anwendung eine HTTP-Anfrage an das SMS-Gateway stellen. Die API-URL wird unten angezeigt. Beachten Sie, dass die IP-Adresse (127.0.0.1) durch die IP-Adresse Ihres SMS-Gateways ersetzt werden sollte. Wenn Ozeki SMS Gateway auf demselben Computer installiert ist, auf dem die Java-SMS-Anwendung läuft, kann dies 127.0.0.1 sein. Wenn es auf einem anderen Computer installiert ist, sollte es die IP-Adresse dieses Computers sein.

http://127.0.0.1:9509/api?action=rest
	

HTTP-Authentifizierung zum Senden von SMS von Java aus

Um den Java-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einer base64-kodierten Zeichenkette an den Server in einer HTTP-Anfrage senden. Das verwendete Format ist: base64(Benutzername+":"+Passwort). In Java können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:

var usernamePassword = username + ":" + password;
var encodedUsernamePassword = usernamePassword.getBytes();
return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
	

Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenkette: aHR0cF91c2VyOnF3ZTEyMw==. Zum Senden

HTTP-Anforderungsheader zum Senden von SMS aus Java

Um die SMS-Nachrichten zu senden, müssen Sie die folgenden Zeilen als Header in die HTTP-Anforderung einfügen. Beachten Sie, dass wir einen Content-Type und einen Authorization-Header einbeziehen.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP-Anforderung zum Senden von SMS aus Java

Um die SMS zu übermitteln, sendet Ihre Java-Anwendung eine HTTP-Anforderung ähnlich der unten gezeigten. Beachten Sie, dass diese Anforderung einen HTTP-Header-Teil und einen HTTP-Body-Teil enthält. Der HTTP-Body ist ein JSON-kodierter Datenstring. Er enthält die Nummer des Empfängers und den Text der Nachricht.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Messages queued for delivery.",
  "data": {
    "total_count": 3,
    "success_count": 3,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
        "from_station": "%",
        "to_address": "+362222222",
        "to_station": "%",
        "text": "Hello, World 2",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
        "from_station": "%",
        "to_address": "+363333333",
        "to_station": "%",
        "text": "Hello, World 3",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

HTTP-Antwort, die vom Java-SMS-Beispiel empfangen wird

Sobald das SMS-Gateway diese Anforderung empfängt, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, der angibt, ob die SMS-Übermittlungsanforderung erfolgreich war oder nicht. Sie gibt auch eine JSON-kodierte Struktur zurück, die Ihnen nützliche Details über die Übermittlung der Nachricht liefert.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Messages queued for delivery.",
  "data": {
    "total_count": 3,
    "success_count": 3,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
        "from_station": "%",
        "to_address": "+362222222",
        "to_station": "%",
        "text": "Hello, World 2",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
        "from_station": "%",
        "to_address": "+363333333",
        "to_station": "%",
        "text": "Hello, World 3",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

Wie man SMS aus Java mit der Java-SMS-API sendet (Video-Tutorial)

Dieses Video zeigt Ihnen, wie Sie ein neues Projekt in Apache NetBeans erstellen, wie Sie es "Send-multiple-SMS" nennen. Sobald die Lösung erstellt ist, werden Sie möglicherweise bemerken, dass es einen Ordner namens <default package> in Ihrem Projekt innerhalb des Source Packages-Ordners gibt. Hier werden Sie die Main.java-Datei erstellen oder einfügen. Dann müssen Sie den Ozeki-Ordner in den Source Packages-Ordner einfügen, und das sind alle Vorbereitungen, die Sie benötigen, um eine SMS mit Java zu senden.

Video 1 - Wie Sie Ozeki.Libs.Rest herunterladen und Ihr Projekt einrichten (Video-Tutorial)

Java SMS-Beispiel: Main.java

Abbildung 3 - SendMultipleSms-Projekt

Wie Sie überprüfen, ob die SMS vom HTTP-Benutzer akzeptiert wurde

Nachdem die SMS übermittelt wurde, ist es ratsam, Ihr SMS-Gateway zu überprüfen, um zu sehen, was es empfangen hat. Sie können das Protokoll einsehen, indem Sie die Details des HTTP-Benutzers über die Ozeki SMS Gateway Management-Konsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen.

Video 2 - Wie Sie überprüfen, ob die SMS vom HTTP-Benutzer akzeptiert wurde (Video-Tutorial)

Zusammenfassung

Diese Anleitung sollte die Schritte zum Versenden mehrerer SMS in Java mit dem Ozeki SMS Gateway erklären. Wenn die Schritte sorgfältig befolgt wurden, sollte das Erreichen mehrerer Kunden gleichzeitig keine Probleme verursachen. Das Versenden mehrerer SMS kann sehr nützlich sein, wenn Sie oder Ihr Unternehmen Informationen an eine große Anzahl von Personen senden möchten. Ozeki SMS Gateway bietet Ihnen die Möglichkeit, SMS-Nachrichten zwischen verschiedenen Endpunkten zu routen und gibt Ihnen die Kontrolle über SMS-Nachrichten, während sie das System durchlaufen.

Stellen Sie sicher, dass das Lernen hier nicht endet. Besuchen Sie die Tutorial-Seite von Ozeki und lesen Sie über Themen wie Löschen in Java.

Jetzt müssen Sie nur noch Ozeki SMS Gateway herunterladen und die Arbeit kann beginnen!

More information