Zum Inhalt springen
SONOYA.com
Web & Code

Altes Android-Handy als SMS-Gateway für Verifizierungen

Mit einem alten Android-Handy, einer Prepaid-Karte und der kostenlosen App SMSGate empfängst Du Bestätigungscodes von PayPal, Google, Instagram und Co., ohne Deine Hauptnummer herzugeben. Jede SMS landet per Webhook bei Dir, etwa als Telegram-Nachricht über n8n oder Make…

Von Sonoya Redaktion 9 Min. Lesezeit
Smartphone-Symbol mit Sprechblase für ein Android-Handy als SMS-Gateway

Fast jeder Dienst will heute eine Handynummer sehen, bevor er Dich hereinlässt: PayPal, Google, Instagram, Kleinanzeigen-Portale oder der nächste Onlineshop schicken einen Bestätigungscode per SMS. Wenn Du dafür nicht jedes Mal Deine private Hauptnummer herausgeben willst, kannst Du ein altes Android-Handy mit einer günstigen Prepaid-Karte zum eigenen SMS-Empfänger umbauen. Die kostenlose Open-Source-App SMSGate leitet jede eingehende SMS automatisch an einen Webhook weiter, und von dort landet sie zum Beispiel als Telegram-Nachricht auf Deinem eigentlichen Smartphone.

So funktioniert das Ganze

Das alte Handy liegt irgendwo in Deiner Wohnung, hängt im WLAN und hat eine oder zwei Prepaid-SIM-Karten eingelegt. Geht dort eine SMS ein, schickt die App SMSGate den Inhalt als JSON-Datenpaket per HTTPS-POST an eine Adresse Deiner Wahl. Diese Adresse ist ein sogenannter Webhook, also ein Empfangspunkt in einem Automatisierungstool wie n8n oder Make.com. Was dort mit der SMS passiert, bestimmst Du: an Telegram weiterschicken, per E-Mail weiterleiten, in eine Tabelle schreiben oder nur den Code herausfiltern.

Das Projekt hinter der App heißt im Original „SMS Gateway for Android”, ist unter der Apache-Lizenz 2.0 auf GitHub veröffentlicht und läuft laut Doku ab Android 5.0. Den Cloud-Server, über den wir die Weiterleitung einrichten, beschreibt der Entwickler auf der offiziellen Preisseite derzeit als komplett kostenlos. Dir entstehen also keine laufenden Kosten, solange die Prepaid-Karte aktiv bleibt.

Was Du brauchst

  • Ein altes Android-Smartphone ab Android 5.0, gern mit Dual-SIM, damit Du zwei Nummern parallel betreiben kannst.
  • Eine oder zwei aktivierte Prepaid-SIM-Karten (Affiliate Link). Der Empfang von SMS im Inland ist bei den deutschen Anbietern kostenlos.
  • Ein Automatisierungstool mit Webhook-Funktion, im Beispiel unten n8n. Make.com funktioniert genauso.
  • Einen Telegram-Bot, falls Du die SMS als Telegram-Nachricht bekommen möchtest.

Wichtig vorab: Die Menüpfade in dieser Anleitung beziehen sich auf aktuelle Android-Versionen (Android 13 bis 16) und auf Samsung-Geräte mit One UI. Auf älteren Android-Versionen oder bei anderen Herstellern heißen einzelne Menüpunkte leicht anders oder liegen an einer anderen Stelle. Wo es typische Abweichungen gibt, weise ich Dich darauf hin.

Schritt 1: Die APK von SMSGate herunterladen

SMSGate gibt es nicht im Google Play Store, sondern als APK-Datei direkt vom Entwickler. Öffne auf dem alten Handy den Browser und rufe die aktuelle Release-Seite auf GitHub auf. Lade dort unter Assets die Datei app-release.apk herunter. Alternativ führt Dich auf sms-gate.app der Button Download App direkt zur selben Datei.

Nimm ausdrücklich app-release.apk und nicht app-insecure.apk. Die Insecure-Variante erlaubt unverschlüsselte HTTP-Webhooks und ist laut Entwickler nur für lokale Tests gedacht.

Schritt 2: Die App installieren

Weil die App nicht aus dem Play Store kommt, musst Du die Installation aus einer unbekannten Quelle einmalig erlauben. Auf einem Samsung-Handy geht das so:

  1. Öffne die App Eigene Dateien.
  2. Tippe auf der Startseite auf die Kategorie Installationsdateien (bei manchen Versionen APK-Installationsdateien).
  3. Tippe auf app-release.apk.
  4. Erscheint der Hinweis, dass Dein Telefon aus Sicherheitsgründen keine unbekannten Apps aus dieser Quelle installieren darf, tippe auf Einstellungen und aktiviere den Schalter Aus dieser Quelle erlauben.
  5. Geh mit der Zurück-Geste zurück und tippe auf Installieren.

Auf anderen Geräten öffnest Du die heruntergeladene Datei einfach aus der Download-Liste des Browsers oder mit der App Dateien, der Ablauf ist derselbe. Bis Android 7 gibt es statt der Freigabe pro App einen globalen Schalter Unbekannte Quellen unter Einstellungen > Sicherheit.

Falls Google Play Protect die Installation blockiert, was laut Doku vor allem ab Android 15 vorkommt, schaltest Du die Prüfung kurz ab: Play Store > Profilbild > Play Protect > Zahnrad-Symbol und dort Apps mit Play Protect scannen deaktivieren. Schalte die Option direkt nach der Installation wieder ein.

Zeigt der Dateimanager die Datei nicht als Installationsdatei an, sondern bietet nur „Öffnen mit” an, hat der Browser beim Download vermutlich eine falsche Endung angehängt. Halte die Datei in Eigene Dateien gedrückt, wähle Mehr > Umbenennen und sorge dafür, dass der Name exakt auf .apk endet, also zum Beispiel kein .apk.txt mehr dranhängt.

Schritt 3: SMS-Berechtigung erteilen

Starte SMSGate. Beim ersten Start fragt die App nach den Berechtigungen für SMS und Telefon, die Du beide erlaubst. Die SMS-Berechtigung braucht die App, um eingehende Nachrichten zu lesen, die Telefon-Berechtigung, um zu erkennen, auf welcher SIM-Karte eine SMS ankommt.

Ab Android 13 kann es passieren, dass die SMS-Berechtigung ausgegraut ist und sich nicht aktivieren lässt. Das ist ein Schutzmechanismus für Apps, die nicht aus dem Play Store stammen. Öffne dann Einstellungen > Apps > SMSGate, tippe oben rechts auf das Drei-Punkte-Menü und wähle Eingeschränkte Einstellungen zulassen. Danach kannst Du unter Berechtigungen > SMS den Zugriff erlauben. Auf älteren Android-Versionen gibt es diesen Zwischenschritt nicht.

Ist auf dem Gerät Google Messages installiert, schalte dort zusätzlich die RCS-Chats aus (Einstellungen > RCS-Chats). SMSGate unterstützt kein RCS, und Nachrichten, die als RCS ankommen, lösen keinen Webhook aus.

Schritt 4: Akku-Optimierung für SMSGate abschalten

Android beendet Apps im Hintergrund gern, um Strom zu sparen. Damit SMSGate dauerhaft lauscht, nimmst Du die App von der Akku-Optimierung aus. Auf Samsung-Geräten und aktuellem Android öffnest Du Einstellungen > Apps > SMSGate > Akku und stellst die Option auf Nicht eingeschränkt. Bei Pixel-Geräten heißt der Punkt App-Akkunutzung.

Auf Android 6 bis 11 findest Du die Einstellung meist unter Einstellungen > Akku > Akkuoptimierung, wo Du Alle Apps anzeigen lässt und SMSGate auf Nicht optimieren setzt. Bei Samsung lohnt außerdem ein Blick unter Einstellungen > Akku > Hintergrundnutzungsgrenzen: SMSGate darf dort weder in Apps im Standby-Modus noch in Apps im Tiefschlaf stehen.

Schritt 5: Den Cloud-Server aktivieren

Auf dem Startbildschirm von SMSGate siehst Du zwei Betriebsarten. Schalte den Schalter Cloud Server ein und tippe dann unten auf den Button Offline. Die App verbindet sich jetzt mit dem Server unter api.sms-gate.app, und der Button wechselt auf Online.

Sobald die Verbindung steht, zeigt die App im Bereich Cloud Server einen automatisch erzeugten Benutzernamen und ein Passwort an. Eine Registrierung mit E-Mail-Adresse oder Telefonnummer ist nicht nötig. Notiere Dir beide Werte, Du brauchst sie gleich für die Webhook-Einrichtung.

Schritt 6: Den Webhook-Empfänger in n8n anlegen

Bevor das Handy etwas weiterleiten kann, brauchst Du eine Adresse, die die SMS entgegennimmt. Wir legen dafür in n8n einen kleinen Workflow an, der jede SMS als Telegram-Nachricht weiterschickt.

  1. Erstelle in n8n einen neuen Workflow und füge als ersten Node Webhook hinzu.
  2. Stelle HTTP Method auf POST und trage unter Path einen schwer zu erratenden Pfad ein, etwa sms-gate-7f3k9q.
  3. Füge dahinter einen Telegram-Node mit der Aktion Send a text message hinzu, hinterlege die Zugangsdaten Deines Bots und trage Deine Chat ID ein.
  4. Schreib in das Feld Text den folgenden Ausdruck:
Code
SMS auf SIM {{ $json.body.payload.simNumber }} von {{ $json.body.payload.sender }}:
{{ $json.body.payload.message }}
  1. Klick oben rechts auf Publish, damit der Workflow live geht, und kopiere aus dem Webhook-Node die Production URL.

Der Ausdruck greift auf die Felder zu, die SMSGate mitschickt, und baut daraus eine lesbare Nachricht mit Nummer, Absender und Text. Bis n8n 1.x gibt es statt Publish einen Schalter Active, der dasselbe bewirkt. Die Production URL funktioniert erst, wenn der Workflow veröffentlicht ist, die Test URL reagiert nur, solange Du im Editor auf ein Testereignis wartest.

In Make.com sieht das Prinzip genauso aus: Du startest ein Szenario mit dem Modul Webhooks > Custom webhook, kopierst dessen Adresse und hängst ein Telegram-Bot-Modul dahinter. Falls Du n8n selbst betreiben möchtest, findest Du in der Schritt-für-Schritt Anleitung: n8n mit Docker und SSL auf einem Digitalocean Droplet installieren eine komplette Einrichtung samt HTTPS. Ein eigener Server bei DigitalOcean (Affiliate Link) reicht dafür in der kleinsten Größe.

Wichtig: Die Zieladresse muss per HTTPS mit gültigem Zertifikat erreichbar sein. Die normale Version von SMSGate verweigert unverschlüsselte HTTP-Adressen.

Schritt 7: Den Webhook bei SMSGate registrieren

In der App selbst gibt es kein Eingabefeld für die Webhook-Adresse. Du registrierst sie einmalig über die API des Cloud-Servers, am einfachsten mit curl im Terminal Deines Computers. Der folgende Befehl ist ein einziger Befehl, die Backslashes am Zeilenende verbinden die Zeilen nur zur besseren Lesbarkeit:

Code
curl -X POST -u "BENUTZERNAME:PASSWORT" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://DEINE-WEBHOOK-URL", "event": "sms:received" }' \
  https://api.sms-gate.app/3rdparty/v1/webhooks

Ersetze BENUTZERNAME und PASSWORT durch die Zugangsdaten aus Schritt 5 und https://DEINE-WEBHOOK-URL durch die kopierte Production URL aus n8n. Der Server antwortet mit einem kurzen JSON, das die Adresse und eine eindeutige id des Webhooks enthält. Das Event sms:received sorgt dafür, dass ausschließlich eingehende SMS weitergeleitet werden.

Ein einziger Webhook reicht auch bei Dual-SIM, denn er gilt für alle SMS des Geräts, egal auf welcher Karte sie ankommen. Ob die Registrierung geklappt hat, prüfst Du mit diesem Befehl:

Code
curl -u "BENUTZERNAME:PASSWORT" https://api.sms-gate.app/3rdparty/v1/webhooks

Die Antwort listet alle registrierten Webhooks auf. Es kann einen Moment dauern, bis das Handy die neue Einstellung übernimmt, danach erscheint der Eintrag auch in der App unter Settings > Webhooks. Wer lieber klickt als tippt, kann sich mit denselben Zugangsdaten auch im Web-Dashboard anmelden und Webhooks dort über ein Formular anlegen.

Schritt 8: Mit einer Test-SMS prüfen

Schick von Deinem normalen Handy eine SMS an die Prepaid-Nummer. Nach wenigen Sekunden sollte die Nachricht in Telegram auftauchen. In der Ausführungsliste von n8n siehst Du, was genau angekommen ist. Das Datenpaket von SMSGate sieht laut offizieller Webhook-Doku so aus:

Code
{
  "deviceId": "ffffffffceb0b1db0000018e937c815b",
  "event": "sms:received",
  "id": "Ey6ECgOkVVFjz3CL48B8C",
  "payload": {
    "messageId": "abc123",
    "message": "Dein PayPal-Sicherheitscode lautet 123456.",
    "sender": "+491701234567",
    "recipient": "+491609876543",
    "simNumber": 1,
    "receivedAt": "2026-10-28T17:46:11.000+01:00"
  },
  "webhookId": "LreFUt-Z3sSq0JufY9uWB"
}

Der SMS-Text steht im Feld message, der Absender in sender. Über simNumber erkennst Du, auf welcher Karte die SMS eingegangen ist. Welcher Wert zu welchem Steckplatz gehört, ist nicht auf jedem Gerät gleich, und bei manchen Geräten bleibt das Feld sogar leer (null). Schick deshalb an jede Nummer eine eigene Test-SMS und schau nach, welchen Wert Du bekommst. Dasselbe gilt für recipient, also Deine eigene Nummer, die nicht jeder Mobilfunkanbieter mitliefert.

Wenn Du in Telegram nur den Code sehen möchtest, kannst Du ihn mit einem Ausdruck im Telegram-Node direkt herausziehen. Diese Variante sucht die erste Zahl mit vier bis acht Ziffern:

Code
Code: {{ $json.body.payload.message.match(/\d{4,8}/)?.[0] ?? 'kein Code gefunden' }}

Dauerbetrieb und Stromversorgung

Weil das Handy die meiste Zeit nur im WLAN wartet, hält ein ordentlicher Akku einige Tage ohne Steckdose durch. Wie lange genau, hängt vom Gerät und vom Zustand des Akkus ab, deshalb probierst Du es am besten aus. Schalte auf dem Gerät die mobilen Daten ab, damit die Prepaid-Karte kein Guthaben verbraucht, und lass nur WLAN eingeschaltet. Das Handy braucht eine Internetverbindung, um die Webhooks abzusetzen.

Soll das Handy dauerhaft am Strom hängen, aktiviere bei Samsung unter Einstellungen > Akku > Akkuschutz die Option Maximum, die das Laden bei 80 Prozent stoppt. Auf älteren One-UI-Versionen heißt die Funktion Akku schützen, steckt unter Akku > Weitere Akkueinstellungen und begrenzt auf 85 Prozent. Das schont den Akku spürbar, denn ein dauerhaft voll geladener Lithium-Akku altert schneller und kann sich im Extremfall aufblähen. Ein einfaches USB-Ladegerät (Affiliate Link) mit kurzem Kabel reicht dafür völlig aus. Kontrolliere ein altes Gerät trotzdem ab und zu, ob sich das Gehäuse wölbt.

Damit Du einen Ausfall nicht erst bemerkst, wenn ein Code ausbleibt, kannst Du das Handy überwachen lassen. Wie das geht, zeigt die Anleitung Android-Handy per Heartbeat in Uptime Kuma überwachen, die SMSGate selbst regelmäßig ein Lebenszeichen schicken lässt.

Worauf Du bei Sicherheit und Prepaid-Karte achten solltest

Ein paar Punkte solltest Du kennen, bevor Du das Gateway für wichtige Konten nutzt:

  • Prepaid-Karte aktiv halten. Viele Anbieter deaktivieren Karten nach längerer Zeit ohne Aufladung oder Nutzung und vergeben die Nummer später neu. Dann bekommt jemand anderes Deine Bestätigungscodes. Lies die Bedingungen Deines Anbieters und lade die Karte regelmäßig auf.
  • Webhook-Adresse geheim halten. Wer Deine Webhook-URL kennt, kann Dir gefälschte Nachrichten unterschieben. Ein schwer zu erratender Pfad hilft schon viel. Wer es genau nehmen will, prüft zusätzlich die Signatur, die SMSGate in den Headern X-Signature und X-Timestamp mitschickt. Den Schlüssel dafür findest Du in der App unter Settings > Webhooks > Signing Key.
  • Codes laufen durch fremde Dienste. Die SMS selbst schickt das Handy direkt an Deine Webhook-Adresse, danach liegen sie aber in n8n oder Make.com und in Deinem Telegram-Chat. Für Bankkonten und Dein Haupt-E-Mail-Konto ist eine Authenticator-App oder ein Passkey ohnehin sicherer als SMS-Codes.

Ein anderes Ziel als Telegram ist mit diesem Aufbau nur ein weiterer Node: Statt des Telegram-Nodes kannst Du in n8n genauso eine E-Mail verschicken, eine Zeile in Google Sheets schreiben oder mehrere Ziele gleichzeitig bedienen. Wenn Du dagegen nur SMS von Deinem Hauptgerät an eine andere Nummer weiterleiten möchtest, ohne Server und Webhook, hilft Dir der Artikel Anleitung: Wie kann man SMS von einem Android Smartphone automatisch weiterleiten? weiter.

Fazit

Mit einem ausgemusterten Android-Handy, einer Prepaid-Karte und SMSGate baust Du Dir in einer knappen Stunde eine eigene Verifizierungsnummer, die keinen Cent im Monat kostet. Deine private Nummer bleibt bei Diensten außen vor, die Du nur ausprobieren willst, und jeder Bestätigungscode erreicht Dich trotzdem in Sekunden auf Deinem eigentlichen Smartphone. Weil die SMS als sauberes JSON bei Dir ankommen, kannst Du sie später mit wenigen Klicks in jeden anderen Workflow einbauen.

Weiterlesen.