SMS-Versand mit C# (.NET): Überblick über Bibliotheken und APIs
In der modernen Entwicklung mit C# (.NET) besteht häufig die Notwendigkeit, SMS-Benachrichtigungen zu integrieren: Registrierungsbestätigungen, Zwei-Faktor-Authentifizierung, Benachrichtigungen über den Bestellstatus oder einfach Massenaussendungen. In diesem Artikel betrachten wir drei gängige Ansätze zum SMS-Versand aus C#-Anwendungen: die Nutzung der Cloud-Dienste Twilio, Vonage (ehemals Nexmo) und des russischen Dienstes SMSC.ru. Alle Codebeispiele sind für .NET 6/8 geschrieben und verwenden moderne asynchrone Methoden.
1. SMS-Versand über Twilio (globaler Anbieter)
Twilio ist einer der beliebtesten Dienste zum Versenden von SMS, Sprachnachrichten und anderen Kommunikationsformen. Es verfügt über eine hervorragende Dokumentation und ein offizielles NuGet-Paket.
Installation der Bibliothek
Fügen Sie das Paket über den NuGet Package Manager hinzu oder führen Sie den folgenden Befehl aus:
dotnet add package TwilioBeispiel für den SMS-Versand mit C#
using Twilio;using Twilio.Rest.Api.V2010.Account;using Twilio.Types;
public class SmsService{ // Geben Sie die Account SID und den Auth Token aus der Twilio-Konsole an private readonly string _accountSid = "IHRE_ACCOUNT_SID"; private readonly string _authToken = "IHR_AUTH_TOKEN"; private readonly string _fromPhone = "+1234567890"; // In Twilio erworbene Nummer
public async Task<bool> SendSmsAsync(string toPhone, string message) { TwilioClient.Init(_accountSid, _authToken);
try { var msg = await MessageResource.CreateAsync( body: message, from: new PhoneNumber(_fromPhone), to: new PhoneNumber(toPhone) ); Console.WriteLine($"SMS gesendet! SID: {msg.Sid}"); return true; } catch (Exception ex) { Console.WriteLine($"Fehler: {ex.Message}"); return false; } }}Wichtig: Die Absendernummer muss in Ihrem Twilio-Konto bestätigt sein. Bei Testkonten werden SMS nur an verifizierte Nummern gesendet.
2. SMS-Versand über Vonage (ehemals Nexmo)
Vonage ist ein weiterer leistungsstarker Cloud-Anbieter. Seine API ist einfach und das Paket lässt sich leicht über NuGet installieren.
Installation der Bibliothek
dotnet add package VonageBeispiel für den SMS-Versand
using Vonage;using Vonage.Request;using Vonage.Messaging;
public class VonageSmsService{ private readonly string _apiKey = "IHR_API_KEY"; private readonly string _apiSecret = "IHR_API_SECRET"; private readonly string _from = "YourApp"; // Absendername
public async Task<bool> SendSmsAsync(string toPhone, string message) { var credentials = Credentials.FromApiKeyAndSecret(_apiKey, _apiSecret); var client = new VonageClient(credentials);
var request = new SendSmsRequest { To = toPhone, From = _from, Text = message };
var response = await client.SmsClient.SendAnSmsAsync(request);
if (response.Messages[0].Status == "0") { Console.WriteLine($"SMS gesendet! ID: {response.Messages[0].MessageId}"); return true; } else { Console.WriteLine($"Fehler: {response.Messages[0].ErrorText}"); return false; } }}Hinweis: Für den Versand an russische Nummern kann eine zusätzliche Konfiguration des Alpha-Namens erforderlich sein.
3. SMS-Versand über SMSC.ru (russischer Dienst)
Wenn sich Ihre Zielgruppe hauptsächlich in Russland und der GUS befindet, kann SMSC.ru eine bequemere und günstigere Option sein. Eine Bibliothek ist nicht erforderlich – eine HTTP-Anfrage reicht aus.
Beispiel für den Versand über HttpC
Auch in der Bibliothek
Prometheus-Metriken in Go: Erstellung und Export von Metriken in Golang
Internationalisierung (i18n) in Swift: NSLocalizedString und String Catalog
Redis-Client für C++: Verbindung, Installation und Anwendungsbeispiele
Detekt für Kotlin: Vollständiges Handbuch mit Beispielen
Prometheus Metriken in Go (Golang): Kompletter Leitfaden für Monitoring