C# SMS aus dem SMS-Gateway löschen

Der einfachste Weg, SMS von C# aus zu senden, ist die Verwendung der integrierten HTTP/Rest-SMS-API des Ozeki SMS Gateways. Wenn Sie diese API verwenden, senden Sie SMS-Nachrichten, indem Sie eine HTTP-Post-Anfrage an das SMS-Gateway stellen. Die HTTP-Post-Anfrage enthält eine Nachricht im JSON-Format. Das SMS-Gateway sendet diese SMS an den Empfänger und gibt eine HTTP 200 OK-Antwort auf Ihre Anfrage zurück.

wie man SMS aus dem SMS-Gateway mit C# löscht
Abbildung 1 - Wie man SMS aus dem SMS-Gateway mit C# löscht

C#-Code zum Empfangen von SMS von einem Mobiltelefon

Das folgende C#-SMS-Codebeispiel zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API des Ozeki SMS Gateways unter Verwendung der C#-Bibliothek Ozeki.Libs.Rest empfangen können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt und kann in Ihren Projekten verwendet und modifiziert werden.

Program.cs

using System;
using Ozeki.Libs.Rest;

namespace DeleteSms.cs
{
    class Program
    {
        static void Main(string[] args)
        {
            var configuration = new Configuration()
            {
                Username = "http_user",
                Password = "qwe123",
                ApiUrl = "http://127.0.0.1:9509/api"
            };

            var msg = new Message()
            {
                ID = "a85d6e16-f888-4306-bd2a-8f8a119d8abf"
            };

            var api = new MessageApi(configuration);

            var result = api.Delete(Folder.Inbox, msg);

            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}

Wie man das C#-SMS-Beispiel verwendet:

Dieses C#-SMS-Beispiel kann in jeder .NET- oder .NET Core-Anwendung verwendet werden. Um es zu verwenden, müssen Sie die Ozeki.Libs.Rest-DLL als Referenz zu Ihrem Projekt hinzufügen. Nachdem die Projektreferenz hinzugefügt wurde, müssen Sie die Direktive "using Ozeki.Libs.Rest;" in den Header-Bereich Ihres C#-Quellcodes einfügen. Dies ermöglicht Ihnen die Verwendung der Klassen der Ozeki.Libs.Rest-Bibliothek. Sie können die MessageApi-Klasse verwenden, um SMS vom SMS-Gateway zu empfangen. Das SMS-Gateway leitet die Nachricht entweder über eine drahtlose Verbindung oder über das Internet an Sie weiter.

Delete-SMS.cs herunterladen

Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: DeleteSms.cs.zip (47,6Kb)

Was befindet sich in der Delete-SMS.cs.zip-Datei?

Die Datei Delete-SMS.cs.zip enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden, Empfangen und Löschen von SMS-Nachrichten bietet. Sie finden auch das DeleteSms-Projekt in der ZIP-Datei, das den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS löschen können. Dieser Beispielcode ist unten aufgeführt.

Delete-SMS.cs-Verzeichnis
Abbildung 2 - Was befindet sich in Recive-SMS.cs.zip

Wie man SMS mit C# löscht (Schnelle Schritte)

Um SMS mit C# zu löschen:

  1. Visual Studio Community einrichten
  2. Die Datei DeleteSms.cs.zip herunterladen
  3. Die .zip-Datei aus dem Downloads-Ordner extrahieren
  4. Die Datei DeleteSms.cs.sln in Visual Studio öffnen
  5. Ozeki SMS Gateway starten
  6. http_user im Tab "Benutzer und Anwendungen" auswählen
  7. Die Nachrichtendetails im Posteingang überprüfen
  8. Die ID der SMS-Nachricht in den Program.cs-Code einfügen
  9. Program.cs ausführen, um SMS mit C# zu löschen

Ozeki SMS Gateway installieren und einen HTTP-API-Benutzer erstellen

Um SMS von C# 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 C#-Code in Visual Studio entwickeln. Nach der Installation ist der nächste Schritt, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können eine Test-SMS aus der Ozeki-GUI senden, um zu überprüfen, ob Ihre Mobilfunknetzverbindung funktioniert. Der letzte Schritt zur Vorbereitung Ihrer Umgebung ist die 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 C#-Code ausführen.

HTTP-API-URL zum Senden von SMS mit C#

Um SMS von C# aus zu senden, muss Ihre C#-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 C#-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 Empfangen von SMS mit C#

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

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
	

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

HTTP-Anfrage zum Löschen von SMS mit C#

Um SMS zu löschen, sendet Ihre C#-Anwendung eine HTTP-Anfrage ähnlich der untenstehenden. Beachten Sie, dass diese Anfrage 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.

POST /api?action=deletemsg HTTP/1.1
Connection: Keep-Alive
Content-Length: 73
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
 
{
	"folder":  "inbox",
	"message_ids":
	[
		"3a922414-458f-4866-a8ee-f053d1132a6b"
	]
}
	

HTTP-Anfrage-Header zum Löschen von SMS aus C#

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

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

HTTP-Antwort, die vom C#-SMS-Beispiel empfangen wird

Sobald das SMS-Gateway diese Anfrage empfängt, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, der anzeigt, ob die SMS-Sendeanfrage erfolgreich war oder nicht. Sie gibt außerdem eine JSON-kodierte Struktur zurück, die Ihnen nützliche Details über den Versand der Nachricht liefert.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.116 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Mon, 07 Jun 2021 14:10:25 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
		"folder": "inbox",
		"message_ids": [
			"3a922414-458f-4866-a8ee-f053d1132a6b"
		]
	}
}
	

Wie man SMS mit C# unter Verwendung der C#-SMS-API löscht (Video-Tutorial)

Dieses Video zeigt Ihnen, wie Sie ein neues .Net Core-Konsolenprojekt in Visual Studio erstellen und es in DeleteSms.sln umbenennen. Sobald die Lösung erstellt ist, werden Sie feststellen, dass eine DeleteSms.csproj zur Lösung hinzugefügt wurde und standardmäßig die Datei Program.cs geöffnet ist. Sie können die Program.cs in Program.cs umbenennen, wenn Sie möchten. Sie werden auch im Video sehen, wie der Beispielcode unten in die Program.cs-Datei kopiert werden kann und wie er kompiliert und ausgeführt werden kann.

C#-SMS-Beispiel: DeleteSms.sln


Wie man die Projektdatei herunterlädt (Video-Tutorial)

In diesem Video lernen Sie, wie Sie das Beispielprojekt DeleteSms.sln herunterladen und ausführen. Das Video beginnt mit der Download-Seite und endet mit dem geöffneten Code-Editor. Sie lernen, wie Sie herunterladen und was Sie mit der Projektdatei machen müssen. Wir zeigen Ihnen, welche Software Sie benötigen. Dieses Video ist nur 1 Minute lang, aber sehr detailliert, sodass Sie keine Probleme haben werden, den Schritten zu folgen.

Video 1 - Wie man die Beispiel-Lösung herunterlädt und ausführt (Video-Tutorial)

Der Beispielcode unten ist Teil der DeleteSms.sln Visual Studio-Lösung. Eine Visual Studio-Lösung kann mehrere Projekte und mehrere Dateien enthalten. In dieser Lösung gibt es nur zwei Projekte: DeleteSms.csproj, Ozeki.Libs.Rest.csproj und eine Datei: Program.cs.

Abbildung 3 - DeleteSms.sln

Wie man das Projekt verwendet (Video-Tutorial)

Im nächsten Video lernen Sie, wie Sie den Beispielcode ausführen und das Protokoll des Prozesses überprüfen. Es beginnt mit dem Start des Ozeki SMS Gateways und führt Sie bis zum leeren Posteingang nach dem Löschen der SMS. Sie lernen, wie Sie die Nachrichten-ID erhalten und wie Sie den Code zum Löschen einer Nachricht verwenden. Das Video ist nur 1:38 Minuten lang und enthält alle Informationen, die Sie benötigen, um eine Nachricht mit diesem Projekt zu löschen.

Video 2 - Wie man SMS mit dem obigen C#-Code löscht (Video-Tutorial)

Ausführen des C#-SMS-Beispiels unter Windows

Wenn Sie Windows verwenden, um dieses in C# geschriebene SMS-Beispiel auszuführen, werden Sie feststellen, dass Sie eine etwas bessere Leistung erhalten, als wenn Sie es unter Linux ausführen. Um zu verstehen, warum dies geschieht, müssen Sie bedenken, dass C# das .NET-Framework für die Codeausführung verwendet. Dies liegt daran, dass die .NET-Implementierung unter Windows für Leistung optimiert ist, während mono, die .NET-Implementierung unter Linux, in diesem Bereich noch aufholen muss.

Zusammenfassung

Die Anleitung erklärte die Schritte zum Löschen von SMS aus dem Ozeki SMS Gateway mit C#. Wenn der Artikel sorgfältig gelesen wurde, scheint das Löschen von Nachrichten aus dem Ozeki SMS Gateway mit einem C#-Code wirklich einfach zu sein. Diese Lösung zeigt perfekt, wie einfach es ist, das Ozeki SMS Gateway mit C#-Befehlen zu steuern und zu konfigurieren. Das Ozeki SMS Gateway ermöglicht es Ihnen, SMS-Kosten zu verwalten und den Nachrichtenverkehr im Auge zu behalten. Mit dieser Löschfunktion können Sie unerwünschte Nachrichten schnell entfernen.

Um weiterzulesen, besuchen Sie die Tutorial-Seiten von Ozeki, wo Sie Informationen zu ähnlichen Themen finden, wie SMS-Planung in C#.

Das Einzige, was Sie jetzt noch tun müssen, ist, das Ozeki SMS Gateway herunterzuladen und die Arbeit zu beginnen!

More information