// HEISE ONLINE — INTELLIGENZA ARTIFICIALE
Shell statt Webmail: Himalaya steuert Gmail und Microsoft
Gmail REST API, Microsoft Graph und JSON Schema: Himalaya 2.0 richtet die Mail-CLI stärker auf Automatisierung aus.
Die Kommandozeilen-Mailsoftware Himalaya 2.0.0 unterstützt Gmail über die Gmail REST API sowie Outlook- und Microsoft-365-Postfächer über Microsoft Graph. Neben den klassischen Verfahren IMAP und SMTP erhält das Projekt so Zugriff auf Funktionen wie Gmail-Labels und -Threads sowie Graph-spezifische Ordner-, Nachrichten- und Anhangsoperationen.
Himalaya ist ein in Rust geschriebener, zustandsloser E-Mail-Client für die Shell. Er bündelt mehrere Backends hinter einer gemeinsamen Befehlsoberfläche, darunter IMAP, SMTP, JMAP, Maildir und m2dir. Die Software richtet sich vor allem an Nutzer, die E-Mail-Funktionen aus Skripten, Terminal-Workflows oder eigenen Frontends heraus nutzen wollen; eine separate TUI befindet sich in Entwicklung.
Gmail- sowie Outlook- und Microsoft-365-Postfächer ließen sich schon vor Version 2.0.0 über IMAP und SMTP einrichten. Neu ist daher nicht die grundsätzliche Kompatibilität mit diesen Anbietern, sondern der Zugriff auf deren jeweilige API. Die einheitlichen Mail-Befehle bleiben erhalten. Für Funktionen eines bestimmten Protokolls oder Anbieters stellt Himalaya zusätzliche Unterbefehle wie gmail und msgraph bereit.
Die Gmail-Anbindung deckt unter anderem Profile, Labels, Nachrichten, Anhänge, Entwürfe, Threads, Verlauf und Einstellungen ab. Das Graph-Backend bietet Zugriff auf Profile, Mail-Ordner, Nachrichten und Anhänge. Beide Backends authentifizieren sich mit einem OAuth-2.0-Bearer-Token.
Die Entwickler haben den Einrichtungsassistenten deutlich ausgebaut. Er erkennt erreichbare Dienste wie IMAP/SMTP, JMAP, Gmail und Microsoft Graph und fragt die passende Anmeldemethode anschließend in einem separaten Schritt ab. Bei IMAP und SMTP wählt der Nutzer einen SASL-Mechanismus wie PLAIN, LOGIN, SCRAM-SHA-256 oder OAUTHBEARER; bei JMAP stehen HTTP-Authentifizierungsarten wie Basic und Bearer zur Wahl.
Der Wizard testet IMAP- und SMTP-Verbindungen bereits während der Konfiguration. Schlägt die Anmeldung fehl, gibt Himalaya keine Konfiguration aus, die später ohnehin nicht funktioniert. Außerdem kann der Assistent bekannte Postfachrollen als Aliase vorbelegen. Bei JMAP ermittelt er sie direkt am Server, für Gmail und Microsoft Graph kennt er die festen Systemordner. Bei IMAP setzt er derzeit nur den Inbox-Alias automatisch.
Dadurch funktionieren Befehle ohne explizite Postfachangabe mit dem voreingestellten Inbox-Alias. Soweit das jeweilige Backend die Ordner kennt, lassen sich auch Ziele wie Gesendet, Entwürfe oder Papierkorb über sprechende Aliase angeben.
Der Aufruf ohne Unterbefehl hat sich allerdings geändert: himalaya startet nun den Wizard, statt wie bisher die Nachrichtenübersicht des Standardkontos anzuzeigen. Die erzeugte Kontokonfiguration gibt das Tool als TOML auf der Standardausgabe aus. Nutzer müssen sie selbst in ihre Konfigurationsdatei umleiten, etwa mit himalaya > ~/.config/himalaya/config.toml. Bestehende Installationen sollten daher bisherige Aufrufe und Skripte prüfen.
Für Automatisierungen führt Himalaya den Befehl json-schema ein. Er erzeugt für jeden Befehl mit strukturierter Ausgabe eine JSON-Schema-Datei, sofern das zugehörige Backend in die verwendete Himalaya-Version einkompiliert ist. Andere Programme können damit die JSON-Ausgabe validieren und daraus etwa in Python, Rust oder TypeScript typisierte Datenmodelle erzeugen.