Guide

OTP-Codes aus E-Mails extrahieren — Posteingang umgehen

Schluss mit dem Wechsel zum Posteingang bei jedem 2FA-Code. nylas otp get durchsucht aktuelle E-Mails nach Verifizierungscodes und kopiert das Ergebnis in unter einer Sekunde in die Zwischenablage. Funktioniert mit allen großen E-Mail-Anbietern — kein Browser nötig.

Written by Nick Barraclough Product Manager

Reviewed by Qasim Muhammad

VerifiedCLI 3.1.1 · Gmail, Outlook, Yahoo, iCloud, IMAP · last tested April 11, 2026

Warum sind OTP-Codes schwer aus E-Mails zu extrahieren?

OTP-Codes sind schwer aus E-Mails zu extrahieren, weil jede Verifizierung Ihren Workflow mit 30–60 Sekunden Kontextwechsel unterbricht — Posteingang öffnen, nach der Nachricht suchen, den 6-stelligen Code in einem gestylten Template finden, ihn in die Login-Eingabe tippen und zu Ihrer ursprünglichen Aufgabe zurückkehren.

Für Entwickler, die Integrationstests oder End-to-End-Flows ausführen, ist das Problem schlimmer. Codes programmatisch zu extrahieren bedeutet, für jeden Anbieter eigene E-Mail-Polling-Logik zu schreiben — Gmail API, Microsoft Graph, IMAP idle — bevor der eigentliche Test überhaupt beginnen kann. Laut dem FIDO Alliance Online Authentication Barometerbrechen Nutzer Registrierungen häufig ab, wenn die Verifizierung langsam ist, und fragiler OTP-Extraktionscode ist eine der häufigsten Ursachen für instabile E2E-Test-Suites.

Nylas CLI beseitigt beide Probleme mit einem einzigen Befehl: nylas otp get durchsucht aktuelle Nachrichten bei Gmail, Outlook, Yahoo, iCloud und jedem IMAP-Server, extrahiert den Code und kopiert ihn in unter 1 Sekunde in Ihre Zwischenablage.

1. Installation

Die Installation von Nylas CLI erfordert einen einzigen Homebrew-Befehl und ist auf den meisten Rechnern in unter 30 Sekunden abgeschlossen. Die CLI-Binary ist etwa 25 MB groß und unterstützt macOS, Linux und Windows. Homebrew ist der schnellste Weg für macOS- und Linux-Nutzer.

brew install nylas/nylas-cli/nylas

Shell-Skript-, PowerShell- und Go-Installationspfade finden Sie im Erste-Schritte-Guide. Nach der Installation bestätigen Sie die Verfügbarkeit des CLI mit einer Versionsprüfung:

nylas --version

2. Authentifizierung

Die Authentifizierung verbindet Nylas CLI mit Ihrem E-Mail-Konto, damit es Nachrichten nach OTP-Codes durchsuchen kann. Das CLI unterstützt 6 Anbietertypen — Gmail, Outlook, Exchange (EWS), Yahoo Mail, iCloud Mail und generisches IMAP — alles in einem einzigen Authentifizierungsschritt. Keine anbieterspezifische Konfiguration nötig.

Generieren Sie einen API-Schlüssel im Nylas Dashboardund übergeben Sie ihn dem CLI. Zugangsdaten werden lokal in ~/.config/nylas/ gespeichert und nie an Dritte gesendet.

nylas auth config --api-key YOUR_API_KEY

3. Neuesten OTP-Code abrufen

Der Befehl nylas otp get durchsucht aktuelle E-Mails, extrahiert den neuesten Verifizierungscode und kopiert ihn in Ihre Zwischenablage — typischerweise in unter 1 Sekunde. Die meisten E-Mail-basierten OTP-Codes sind 6-stellig und laufen innerhalb von 5–10 Minuten ab, wie in RFC 6238 (TOTP) definiert.

Ohne Argumente ruft der Befehl den neuesten Code vom Standardkonto ab. Das CLI durchsucht die aktuellsten Nachrichten nach gängigen OTP-Mustern (numerische Codes in Verifizierungs-E-Mails) und gibt den Treffer zurück.

nylas otp get
✓ OTP found

  Code:    847291
  From:    noreply@github.com
  Subject: Your GitHub verification code
  Copied to clipboard

Für Skripting und CI/CD-Pipelines — wo Zwischenablage-Nebeneffekte unerwünscht sind — gibt das --raw Flag nur den reinen Code aus. Das erleichtert das Erfassen des Werts in einer Shell-Variablen.

nylas otp get --raw
847291

Um den Code in Ihrer Terminalausgabe sichtbar zu halten, ohne ihn in die Zwischenablage zu kopieren, verwenden Sie das --no-copy Flag. Das ist nützlich, wenn Sie den Code auf dem Bildschirm lesen und manuell eingeben möchten.

nylas otp get --no-copy

4. Eingehende OTP-Codes überwachen

Der Befehl nylas otp watch pollt Ihren Posteingang kontinuierlich und gibt jeden neuen OTP-Code aus, sobald er eintrifft. Das ist nützlich, wenn Sie eine Aktion auslösen, die eine Verifizierungs-E-Mail sendet, und den Code erfassen müssen, ohne genau zu wissen, wann er ankommt. Das Standard-Polling-Intervall beträgt 5 Sekunden, was bedeutet, dass die meisten Codes innerhalb von 5–10 Sekunden nach Zustellung erscheinen.

Starten Sie die Überwachung ohne Argumente. Das CLI pollt weiter, bis Sie Strg+C drücken. Jeder Code wird mit Zeitstempel und Absenderadresse ausgegeben.

nylas otp watch
Watching for OTP codes... (Ctrl+C to stop)

  [14:23:05] 847291  — noreply@github.com
  [14:31:18] 193047  — security@google.com

Das --interval Flag setzt die Polling-Frequenz in Sekunden. Ein kürzeres Intervall fängt Codes schneller ab, sendet aber mehr API-Anfragen. Für die meisten Anwendungsfälle sind 5–10 Sekunden ein guter Kompromiss zwischen Geschwindigkeit und Effizienz.

nylas otp watch --interval 5

Kombinieren Sie --no-copy mit einem benutzerdefinierten Intervall, wenn Sie in einem Terminal arbeiten, in dem kein Zugriff auf die Zwischenablage möglich ist, z. B. in einer Remote-SSH-Sitzung oder einem Docker-Container.

nylas otp watch --no-copy --interval 10

5. Konfigurierte Konten auflisten

Der Befehl nylas otp list zeigt jedes mit Nylas CLI verbundene E-Mail-Konto zusammen mit seinem Anbietertyp an. Entwickler, die mit mehreren Konten arbeiten — zum Beispiel einem persönlichen Gmail und einem geschäftlichen Outlook-Mandanten — können damit bestätigen, welche Konten verfügbar sind, bevor sie Codes abrufen. Das CLI unterstützt bis zu 6 Anbietertypen in einer einzigen Konfiguration.

Jede Zeile in der Ausgabe ordnet eine E-Mail-Adresse ihrem erkannten Anbieter zu. So lässt sich einfach identifizieren, welches Konto beim Aufruf von nylas otp get angesprochen werden soll.

nylas otp list
  ACCOUNT                        PROVIDER
  user@gmail.com                 Gmail
  work@company.com               Outlook
  personal@icloud.com            iCloud

Um einen Code von einem bestimmten Konto statt dem Standardkonto abzurufen, übergeben Sie die E-Mail-Adresse als Argument. Das vermeidet Mehrdeutigkeit, wenn mehrere Konten aktuelle OTP-E-Mails haben.

nylas otp get user@gmail.com

6. OTP-Codes in Skripten verwenden

Das --raw Flag macht nylas otp get zu einem kombinierbaren Baustein für Shell-Skripte, CI/CD-Pipelines und End-to-End-Test-Frameworks. Da nur der reine Code ohne Formatierung ausgegeben wird, kann das Ergebnis direkt in einer Variablen mit Standard-Befehlsersetzung erfasst werden.

Das folgende Skript demonstriert einen vollständigen OTP-Verifizierungsablauf: Es löst eine Passwort-Reset-E-Mail über einen API-Aufruf aus, wartet 3 Sekunden auf die Zustellung, extrahiert den Code und sendet ihn ab. In produktiven CI-Umgebungen ersetzt dieses Muster 20–50 Zeilen benutzerdefinierter anbieterspezifischer Polling-Logik.

#!/usr/bin/env bash
set -euo pipefail

EMAIL="user@example.com"
API_BASE="https://app.example.com/api"

# OTP-E-Mail auslösen
curl -s -X POST "$API_BASE/auth/send-otp" \
  -H "Content-Type: application/json" \
  -d "{"email": "$EMAIL"}"

# Auf Zustellung warten, dann Code abrufen
sleep 3
CODE=$(nylas otp get --raw)

echo "Got code: $CODE"

# Code absenden
curl -s -X POST "$API_BASE/auth/verify-otp" \
  -H "Content-Type: application/json" \
  -d "{"email": "$EMAIL", "code": "$CODE"}"

echo "Verified."

In CI/CD-Umgebungen wie GitHub Actions speichern Sie den Nylas-API-Schlüssel als Repository-Secret. Das folgende Beispiel zeigt einen 2-Schritt-Workflow: Der erste Schritt konfiguriert die Authentifizierung und der zweite führt das OTP-Test-Skript aus. Dieser Ansatz hält Zugangsdaten vollständig aus dem Quellcode heraus.

# GitHub Actions Beispiel
- name: Authenticate Nylas CLI
  run: nylas auth config --api-key ${{ secrets.NYLAS_API_KEY }}

- name: Run OTP flow test
  run: ./scripts/test-otp-flow.sh

Das CLI liest die NYLAS_API_KEY Umgebungsvariable automatisch, sodass Sie den nylas auth config Schritt in flüchtigen CI-Umgebungen überspringen können. Dies ist der empfohlene Ansatz für Container und Serverless-Runner, bei denen das Dateisystem zwischen Jobs nicht persistiert.

# Umgebungsvariable setzen — CLI erkennt sie automatisch
export NYLAS_API_KEY=your_key
CODE=$(nylas otp get --raw)

Nächste Schritte