Ergänzen Sie proxy neben den Mailbox-Einstellungen, wenn ImapFlow einen IMAP-Server über einen HTTP-CONNECT-Proxy erreichen soll:

import { ImapFlow } from 'imapflow';

const client = new ImapFlow({
  host: 'imap.example',
  port: 993,
  secure: true,
  auth: mailboxCredentials,
  proxy: 'http://proxy.example:8080',
});

mailboxCredentials enthält das IMAP-Konto der Anwendung. Verwenden Sie diesen Client für die bestehende Abfolge aus Verbinden, Mailbox-Arbeit und Abmelden oder Aufräumen nach Fehlern. Für einen öffentlich erreichbaren Maildienst, bei dem ein öffentlicher Vermittler zulässig ist, liefert die HTTP-Proxy-Liste Kandidaten für die Proxy-URL ohne Proxy-Anmeldedaten; prüfen Sie den Zugriff auf den tatsächlichen IMAP-Host und -Port.

Zwei Details, die sich zu prüfen lohnen

  • Der Tunnel-Port ist 993. Der Proxy muss CONNECT zu imap.example:993 erlauben. Ein Vermittler, der Website-Tunnel nur auf 443 zulässt, kann diese Anfrage selbst mit gültigen Proxy-Anmeldedaten ablehnen.
  • Die Mailbox bleibt TLS-geschützt. secure: true gilt für die Mailbox-Verbindung. Das http-Schema der Proxy-URL kennzeichnet den Listener des Vermittlers, nicht einen Ersatz für den IMAP-Hostnamen.

Wenn der Vermittler eine Anmeldung benötigt, geben Sie sein Konto über das von ImapFlow unterstützte Proxy-URL-Format an. Behalten Sie das Mailbox-Konto in auth. Dieses Beispiel nutzt den standardmäßigen Node-Proxy-Pfad; der benutzerdefinierte Runtime-Transport von ImapFlow lässt sich nicht mit proxy kombinieren.

Ähnliche Artikel