SMS-Versand mit Java: So nutzen Sie API-Bibliotheken für den Nachrichtenversand
Der Versand von SMS-Nachrichten ist eine gefragte Funktion in modernen Webanwendungen, Autorisierungssystemen (2FA), Benachrichtigungen und Marketingkampagnen. In Java werden dafür spezialisierte Bibliotheken verwendet, die mit den Cloud-APIs der Anbieter interagieren. In diesem Artikel betrachten wir die beiden beliebtesten Bibliotheken: Twilio und Vonage (ehemals Nexmo). Sie erfahren, wie Sie diese einbinden, Ihre erste SMS versenden und mögliche Fehler behandeln.
1. Warum eine separate Bibliothek für SMS?
Die Arbeit mit SMS direkt über HTTP-Anfragen ist möglich, aber umständlich. Bibliotheken bieten:
- Fertige Klassen zum Erstellen und Versenden von Nachrichten.
- Fehlerverwaltung und Wiederholungsversuche bei Netzwerkausfällen.
- Sicheres Arbeiten mit API-Schlüsseln und Tokens.
- Unterstützung für zusätzliche Funktionen (Zustellungsstatus, Empfang eingehender SMS).
2. Die Twilio-Bibliothek für Java
Twilio ist einer der Marktführer. Sein Java SDK (Software Development Kit) ist einfach zu erlernen und verfügt über eine hervorragende Dokumentation.
2.1 Einbinden der Abhängigkeit (Maven)
Fügen Sie in Ihre pom.xml den folgenden Block ein:
<dependency> <groupId>com.twilio.sdk</groupId> <artifactId>twilio</artifactId> <version>9.14.1</version> <!-- Überprüfen Sie die aktuelle Version --></dependency>2.2 SMS-Versand mit Twilio
Beispielcode zum Versenden einer Nachricht. Stellen Sie sicher, dass Sie Ihre Account SID und Ihren Auth Token aus der Twilio-Konsole sowie eine gekaufte Telefonnummer haben.
import com.twilio.Twilio;import com.twilio.rest.api.v2010.account.Message;import com.twilio.type.PhoneNumber;
public class SmsSender { // Setzen Sie Ihre Anmeldedaten ein public static final String ACCOUNT_SID = "IHRE_ACCOUNT_SID"; public static final String AUTH_TOKEN = "IHR_AUTH_TOKEN";
public static void main(String[] args) { Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
Message message = Message.creator( new PhoneNumber("+71234567890"), // Empfängernummer new PhoneNumber("+19876543210"), // Ihre Twilio-Nummer "Hallo von Java und Twilio!" ).create();
System.out.println("SMS gesendet. SID: " + message.getSid()); }}Wichtig: Telefonnummern müssen im internationalen Format angegeben werden (beginnend mit +).
3. Die Vonage-Bibliothek (Nexmo) für Java
Die Vonage SMS API ist eine weitere beliebte Wahl. Ihre Bibliothek heißt nexmo-java oder vonage-java-sdk.
3.1 Einbinden der Abhängigkeit (Gradle)
implementation 'com.vonage:client:7.3.0'Für Maven:
<dependency> <groupId>com.vonage</groupId> <artifactId>client</artifactId> <version>7.3.0</version></dependency>3.2 SMS-Versand mit Vonage
import com.vonage.client.VonageClient;import com.vonage.client.sms.MessageStatus;import com.vonage.client.sms.SmsSubmissionResponse;import com.vonage.client.sms.messages.TextMessage;
public class VonageSms { public static void main(String[] args) { VonageClient client = VonageClient.builder() .apiKey("IHR_API_KEY") .apiSecret("IHR_API_SECRET") .build();
TextMessage message = new TextMessage( "VonageAPI", // Absender (max. 11 Zeichen) "+71234567890", // Empfänger "Testnachricht von Java und Vonage!" );
SmsSubmissionResponse response = clien Auch in der Bibliothek
Kryptografie in TypeScript: Überblick über die Bibliothek crypto-js
Aufgabenwarteschlangen in Kotlin: Coroutines, KJob und fortgeschrittene Muster
PDF-Berichte in C++ mit libharu und PoDoFo generieren
Glide/Coil für Kotlin: Komplettguide mit Beispielen