Ein HTTP-Proxy in einer ImapFlow-Verbindung
Fügen Sie die Proxy-Option von ImapFlow zu einer bestehenden IMAP-Verbindung hinzu und prüfen Sie, ob der Vermittler den Mailbox-Port zulässt.
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.