Senden einer SMS mit Java

March 12, 2021
Autor:in:
Diane Phan
Twilion
Prüfer:in:

Senden einer SMS mit Java


Hallo und Danke fürs Lesen! Dieser Blogpost ist eine Übersetzung von How to Send an SMS with Java. Während wir unsere Übersetzungsprozesse verbessern, würden wir uns über Dein Feedback an help@twilio.com freuen, solltest Du etwas bemerken, was falsch übersetzt wurde. Wir bedanken uns für hilfreiche Beiträge mit Twilio Swag :)

Bei Twilio geht es darum, die Kommunikation zu unterstützen, und das praktisch und schnell in jeder Sprache.  

Mit Twilio und Java können wir schnell eine Nachricht zustellen, ohne unser Mobilgerät in die Hand nehmen zu müssen.

In diesem Artikel nutzen wir unsere praktische Befehlszeile, um ein paar Zeilen Java-Code zu schreiben, mit dem wir unglaublich schnell eine SMS senden können. Worauf warten wir noch? Legen wir los.

Voraussetzungen

Konfiguration

Wir erstellen zuerst ein Verzeichnis, in dem wir die Dateien des Projekts speichern. In unserem bevorzugten Terminal geben wir Folgendes ein:

$ mkdir java_sms
$ cd java_sms

In diesem Artikel laden wir die eigenständige Twilio-Java-Hilfebibliothek herunter. Eine vorbereitete JAR-Datei können wir hier herunterladen. Die neueste Version der JAR-Dateien bei Veröffentlichung dieses Artikels ist twilio-8.8.0-with-dependencies.jar. Wir scrollen nach unten, laden die entsprechende Datei herunter und speichern sie in unserem java_sms-Projektverzeichnis.

Kaufen einer Twilio-Telefonnummer

Falls wir noch keine Twilio-Nummer haben, dann kaufen wir jetzt eine, damit wir die SMS senden können.

Wir melden uns an der Twilio-Konsole an, wählen „Phone Numbers“ aus und klicken dann auf das rote Pluszeichen, um eine Twilio-Nummer zu kaufen. Wenn wir ein kostenloses Konto nutzen, verwenden wir für diesen Kauf unser Testguthaben.

Auf dem Bildschirm Buy a Number wählen wir unser Land aus und aktivieren das Kontrollkästchen „SMS“. Wenn wir eine Nummer für unsere Region anfordern möchten, geben wir die entsprechende Vorwahl in das Feld „Number“ ein.

Kaufen einer Telefonnummer

Wir klicken auf die Schaltfläche Search, um die verfügbaren Nummern anzeigen zu lassen. Dann klicken wir in den Ergebnissen neben der Nummer, die uns gefällt, auf „Buy“. Nachdem wir den Kauf bestätigt haben, klicken wir auf die Schaltfläche Close.

Senden einer SMS mit Java

Wir erstellen in unserem Projektverzeichnis eine Datei mit dem Namen SmsSender.java und fügen den folgenden Code ein:

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class SendSMS {
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

        Message message = Message
                .creator(new PhoneNumber("+<YOUR_PHONE_NUMBER>"), 
                        new PhoneNumber("+<YOUR_TWILIO_NUMBER>"), 
                        "Ahoy world! I love writing code in Java.")
                .create();
        System.out.println(message.getSid());
    }
}

Sehen wir uns den Code kurz genauer an.

Um die Anmeldeinformationen unseres Twilio-Kontos zu schützen, hat es sich bewährt, dafür Umgebungsvariablen festzulegen.

Die Anmeldeinformationen für unser Konto finden wir in der Twilio-Konsole.

Twilio-Konto-SID

Bei Verwendung von macOS oder Linux führen wir die folgenden Befehle aus, um die Kontoanmeldeinformationen in eine twilio.env-Datei zu exportieren. Dann erstellen wir eine .gitignore-Datei, damit wir nicht versehentlich unsere Anmeldeinformationen in ein öffentliches Repository übertragen.

echo "export TWILIO_ACCOUNT_SID='ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'" > twilio.env
echo "export TWILIO_AUTH_TOKEN='<YOUR_AUTH_TOKEN>" >> twilio.env
source ./twilio.env
echo "twilio.env" >> .gitignore

Windows-Entwickler müssen export wie folgt durch set ersetzen:

set TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
set TWILIO_AUTH_TOKEN=your_auth_token

Auch hier können wir eine .env- und .gitignore-Datei erstellen, wenn wir das wünschen.

Die SendSMS-Klasse definiert eine void main-Funktion, wobei der Twilio-Client mit den oben festgelegten Variablen ACCOUNT_SID und AUTH_TOKEN initialisiert wird. Wir ersetzen <YOUR_PHONE_NUMBER> und <YOUR_TWILIO_NUMBER> durch unsere tatsächlichen Nummern im E.164-Format.

Wir erstellen eine neue message-Instanz der Message-Ressource, die von der Twilio-REST-API bereitgestellt wird, um damit eine SMS von unserer Twilio-Telefonnummer an unsere persönliche Telefonnummer zu senden. Wir müssen darauf achten, dass wir diese Platzhalter durch die entsprechenden Werte ersetzen.

Nachdem die Nachricht gesendet wurde, wird die Nachrichten-SID zur Information auf dem Terminal angezeigt.

Wir speichern die Datei und kompilieren die SendSMS-Klasse. Dazu geben wir den folgenden Befehl in den Terminal ein:

javac -cp twilio-8.8.0-jar-with-dependencies.jar SendSMS.java  

Bei Verwendung von macOS oder Linux führen wir die erfolgreich erstellte Java-Klasse mit dem folgenden Befehl aus:

java -cp .:twilio-8.8.0-jar-with-dependencies.jar SendSMS  

Windows-Entwickler verwenden den folgenden Befehl, um die SMS vom Terminal aus zu senden. Der einzige Unterschied ist, dass der Windows-Befehl statt dem Doppelpunkt einen Semikolon verwendet:

java -cp ".;twilio-8.8.0-jar-with-dependencies.jar" SendSMS

Innerhalb kurzer Zeit erhalten wir auf unserem persönlichen Telefon die SMS, die direkt von unserem Terminal gesendet wurde.

Wie geht es weiter nach dem Senden einer SMS mit Java?

Gut gemacht! Wir haben eine kurze Java-Datei geschrieben und über die Befehlszeile eine SMS an unser Telefon gesendet. Das ging doch wirklich unglaublich schnell, nicht wahr?

Und es gibt noch so viel mehr Möglichkeiten, was wir mit Twilio und etwas Code erreichen können, ohne unser Telefon in die Hand nehmen zu müssen. Vielleicht kannst du auch herausfinden, wie du auf eine eingehende SMS in Java antwortest.

Erkunde einige andere praktische Funktionen, die du in Java ausprobieren kannst, oder teste unsere ureigene Twilio CLI:

Ich würde gern erfahren, welche Projekte du mit Java und Twilio SMS erstellst. Du erreichst mich am besten per E-Mail.

Diane Phan ist Redakteurin des Entwicklernetzwerks im Entwicklerstimmen-Team. Sie setzt sich dafür ein, Programmierern unter die Arme zu greifen, wenn sie vor schwierigen Herausforderungen stehen, die sie daran hindern könnten, ihre Projekte zu realisieren. Sie ist unter dphan@twilio.com oder über LinkedIn zu erreichen.