EngageLab Email CLI

EngageLab Email CLI hilft Agenten und Entwicklern, eingehende und ausgehende E-Mails über die Kommandozeile zu verwalten.

Verwenden Sie es für:

  • Auflisten verfügbarer Postfächer
  • Auflisten und Untersuchen von E-Mail-Threads
  • Lesen eingehender Nachrichten
  • Abfragen neuer eingehender Nachrichten
  • Antworten auf eingehende Nachrichten
  • Senden neuer E-Mails

Installation

npm install -g @engagelabemail/cli
              
              npm install -g @engagelabemail/cli

            
Diesen Codeblock im schwebenden Fenster anzeigen

Überprüfen Sie die installierte Version:

engagelab-email-cli -V
              
              engagelab-email-cli -V

            
Diesen Codeblock im schwebenden Fenster anzeigen

Wenn Sie einen Befehl ausführen, der eine Verbindung zu EngageLab Email herstellt, prüft die CLI, ob eine neuere CLI-Version verfügbar ist. Wenn ein Update erforderlich ist, wird der Vorgang angehalten und der Update-Befehl angezeigt:

npm install -g @engagelabemail/cli@latest
              
              npm install -g @engagelabemail/cli@latest

            
Diesen Codeblock im schwebenden Fenster anzeigen

Konfiguration

Gespeicherte Konfiguration verwalten

Verwenden Sie die config-Befehlsgruppe, um lokale Anmeldeinformationen zu speichern, anzuzeigen oder zu löschen.

Speichern Sie Ihre Dienstadresse und den Secret Key lokal:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
Diesen Codeblock im schwebenden Fenster anzeigen

Zeigen Sie die gespeicherte Konfiguration an:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
Diesen Codeblock im schwebenden Fenster anzeigen

Löschen Sie die gespeicherte Konfiguration:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
Diesen Codeblock im schwebenden Fenster anzeigen

config list maskiert den Secret Key.

Globale Anmeldeinformationen mit beliebigen Geschäftsbefehlen verwenden

Sie müssen Anmeldeinformationen nicht zuerst speichern. Sie können --base-url und --secret-key direkt vor jedem Geschäftsbefehl wie threads ... oder emails ... übergeben. Diese Kommandozeilen-Anmeldeinformationen gelten nur für den aktuellen Befehl und überschreiben die gespeicherte Konfiguration nicht.

Beispiel:

engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1
              
              engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1

            
Diesen Codeblock im schwebenden Fenster anzeigen

Schnellstart

Listen Sie kürzlich eingehende Nachrichten auf:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20

            
Diesen Codeblock im schwebenden Fenster anzeigen

Lesen Sie eine eingehende Nachricht:

engagelab-email-cli emails receiving get <message-uid>
              
              engagelab-email-cli emails receiving get <message-uid>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Zeigen Sie den vollständigen Thread zu einer Nachricht an:

engagelab-email-cli threads messages <thread-id> --include-content --limit 10
              
              engagelab-email-cli threads messages <thread-id> --include-content --limit 10

            
Diesen Codeblock im schwebenden Fenster anzeigen

Antworten Sie auf eine eingehende Nachricht:

engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."
              
              engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."

            
Diesen Codeblock im schwebenden Fenster anzeigen

Senden Sie eine neue E-Mail:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Hello" \ --text "Hello from EngageLab Email CLI."
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Hello" \
  --text "Hello from EngageLab Email CLI."

            
Diesen Codeblock im schwebenden Fenster anzeigen

Für Skripte oder Agenten fügen Sie --json hinzu, um maschinenlesbare Ausgabe zu erhalten:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

Befehle

config set

Speichern Sie die lokale Konfiguration.

Option Beschreibung
--base-url <url> Dienstadresse. Standardmäßig ENGAGELAB_EMAIL_BASE_URL, falls gesetzt.
--secret-key <key> Secret Key. Standardmäßig ENGAGELAB_EMAIL_SECRET_KEY, falls gesetzt.

Beispiel:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
Diesen Codeblock im schwebenden Fenster anzeigen

config list

Zeigen Sie die gespeicherte Konfiguration an.

Beispiel:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
Diesen Codeblock im schwebenden Fenster anzeigen

config clear

Löschen Sie die gespeicherte lokale Konfiguration, einschließlich baseUrl und secretKey.

Beispiel:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
Diesen Codeblock im schwebenden Fenster anzeigen

mailbox list

Listen Sie verfügbare Postfächer auf.

Option Beschreibung
--mailbox <address> Nach Postfachadresse filtern.
--page-no <number> Seitennummer.
--page-size <number> Seitengröße.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli mailbox list --page-size 20
              
              engagelab-email-cli mailbox list --page-size 20

            
Diesen Codeblock im schwebenden Fenster anzeigen

threads list

Listen Sie E-Mail-Threads auf.

Option Beschreibung
--mailbox-id <id> Nach Postfach-ID filtern.
--subject <text> Nach normalisiertem Betreff suchen.
--participant <email> Nach Teilnehmer suchen.
--start-time <timestamp> Startzeitstempel der neuesten Nachricht in Millisekunden.
--end-time <timestamp> Endzeitstempel der neuesten Nachricht in Millisekunden.
--page-no <number> Seitennummer.
--page-size <number> Seitengröße.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20
              
              engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20

            
Diesen Codeblock im schwebenden Fenster anzeigen

threads get <thread-id>

Zeigen Sie einen einzelnen Thread an.

Argument/Option Beschreibung
<thread-id> Thread-ID.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50
              
              engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50

            
Diesen Codeblock im schwebenden Fenster anzeigen

threads messages <thread-id>

Listen Sie Nachrichten in einem Thread auf.

Argument/Option Beschreibung
<thread-id> Thread-ID.
--limit <number> Nachrichtenlimit.
--include-content Text/HTML/Header/Anhänge einschließen.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json
              
              engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails receiving list

Listen Sie eingehende Nachrichten auf.

Option Beschreibung
--mailbox-id <id> Nach Postfach-ID filtern.
--keyword <text> Suchbegriff.
--page-no <number> Seitennummer.
--page-size <number> Seitengröße.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli emails receiving list --keyword refund --page-size 20
              
              engagelab-email-cli emails receiving list --keyword refund --page-size 20

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails receiving get <message-uid>

Zeigen Sie eine einzelne eingehende Nachricht an.

Argument/Option Beschreibung
<message-uid> Nachrichten-UID.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json
              
              engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails receiving listen

Fragen Sie neue eingehende Nachrichten ab. Dieser Befehl läuft weiter, bis Sie ihn mit Ctrl+C stoppen.

Option Beschreibung
--after <id> Cursor-ID aus dem vorherigen Ergebnis.
--limit <number> Nachrichtenlimit.
--interval <seconds> Abfrageintervall in Sekunden (Minimum 2).
--json Ein JSON-Nachrichtenobjekt pro Zeile ausgeben.

Beispiel:

engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

Von einem bekannten Cursor fortsetzen:

engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails receiving reply <message-uid>

Antworten Sie auf eine eingehende Nachricht.

Argument/Option Beschreibung
<message-uid> Nachrichten-UID, auf die geantwortet werden soll.
--subject <text> Betreff der Antwort.
--text <text> Klartext-Textkörper.
--html <html> HTML-Textkörper.
--text-file <path> Klartext-Textkörper aus Datei lesen.
--html-file <path> HTML-Textkörper aus Datei lesen.
--cc <email> CC-Adresse. Kann wiederholt werden.
--bcc <email> BCC-Adresse. Kann wiederholt werden.
--reply-to <email> Reply-To-Adresse. Kann wiederholt werden.
--preview-text <text> E-Mail-Vorschaumeldung.
--attachment <path> Lokale Datei anhängen. Kann wiederholt werden. Erfordert --disposition. Maximal 10 Dateien, insgesamt 10MB nach Base64-Kodierung (ca. 7.5MB Rohdateien).
--disposition <value> Anhangsart: attachment oder inline. Erforderlich bei Verwendung von --attachment. Kann wiederholt werden oder einmal für alle Anhänge angegeben werden.
--content-id <id> Content-ID für Inline-Bildanhänge. Erforderlich bei Verwendung von --disposition inline mit einem Bildanhang.
--sandbox Im Sandbox-Modus senden.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \ --subject "Re: Refund update" \ --text "Thanks, we received your message." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \
  --subject "Re: Refund update" \
  --text "Thanks, we received your message." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails send

Senden Sie eine neue E-Mail.

Option Beschreibung
--mailbox-id <id> Postfach-ID.
--from <email> Absender-E-Mail-Adresse.
--to <email> Empfänger-E-Mail-Adresse. Kann wiederholt werden.
--subject <text> E-Mail-Betreff.
--text <text> Klartext-Textkörper.
--html <html> HTML-Textkörper.
--text-file <path> Klartext-Textkörper aus Datei lesen.
--html-file <path> HTML-Textkörper aus Datei lesen.
--cc <email> CC-Adresse. Kann wiederholt werden.
--bcc <email> BCC-Adresse. Kann wiederholt werden.
--reply-to <email> Reply-To-Adresse. Kann wiederholt werden.
--preview-text <text> E-Mail-Vorschaumeldung.
--attachment <path> Lokale Datei anhängen. Kann wiederholt werden. Erfordert --disposition. Maximal 10 Dateien, insgesamt 10MB nach Base64-Kodierung (ca. 7.5MB Rohdateien).
--disposition <value> Anhangsart: attachment oder inline. Erforderlich bei Verwendung von --attachment. Kann wiederholt werden oder einmal für alle Anhänge angegeben werden.
--content-id <id> Content-ID für Inline-Bildanhänge. Erforderlich bei Verwendung von --disposition inline mit einem Bildanhang.
--sandbox Im Sandbox-Modus senden.
--json Rohes JSON ausgeben.

Beispiel:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --to bob@example.com \ --subject "Refund update" \ --text "Your refund has been processed." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --to bob@example.com \
  --subject "Refund update" \
  --text "Your refund has been processed." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
Diesen Codeblock im schwebenden Fenster anzeigen

HTML mit einem Inline-Bildanhang senden:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anhangsmetadaten können auf zwei kompatible Weisen übergeben werden. Die empfohlene Form bindet Metadaten an jeden Dateipfad, was Mehrdeutigkeiten bei mehreren Anhängen vermeidet:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"

            
Diesen Codeblock im schwebenden Fenster anzeigen

Die ältere Form mit getrennten Optionen wird ebenfalls aus Kompatibilitätsgründen unterstützt:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
Diesen Codeblock im schwebenden Fenster anzeigen

Mischen Sie keine Inline-Anhangsmetadaten (path;disposition=...) mit --disposition oder --content-id im selben Befehl.

HTML-Inhalt aus einer Datei senden:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Monthly report" \ --html-file ./report.html
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Monthly report" \
  --html-file ./report.html

            
Diesen Codeblock im schwebenden Fenster anzeigen

Ausgabe

Standardmäßig gibt die CLI lesbare Tabellen oder Zusammenfassungen aus und zeigt eine kurze Lademeldung an, während Anfragen ausgeführt werden.

Verwenden Sie --json, wenn ein anderes Tool oder Skript das Ergebnis parsen muss.

engagelab-email-cli emails receiving get <message-uid> --json
              
              engagelab-email-cli emails receiving get <message-uid> --json

            
Diesen Codeblock im schwebenden Fenster anzeigen

emails receiving listen --json gibt ein Nachrichten-JSON-Objekt pro Zeile aus.

Fehler

Menschenlesbare Fehler enthalten den Geschäftsfehlercode, wenn die API einen zurückgibt, z. B. [100101] unauthorized.

--json-Fehler verwenden diese Struktur:

{ "error": { "code": "auth_error", "errorCode": 100101, "message": "unauthorized" } }
              
              {
  "error": {
    "code": "auth_error",
    "errorCode": 100101,
    "message": "unauthorized"
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Exit-Codes:

Exit-Code Bedeutung
1 Parameterfehler oder fehlende Konfiguration
2 Authentifizierungsfehler
3 Ressource nicht gefunden
4 Konflikt oder laufender Zustand
5 Serverfehler oder Netzwerkfehler
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren