Aggiungete proxy accanto alle impostazioni della casella di posta quando ImapFlow deve raggiungere un server IMAP tramite un proxy HTTP CONNECT:

import { ImapFlow } from 'imapflow';

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

mailboxCredentials contiene l'account IMAP dell'applicazione. Usate questo client per la sequenza esistente di connessione, lavoro sulla casella di posta e disconnessione o pulizia dopo un errore. Per un servizio di posta raggiungibile pubblicamente in cui è consentito un intermediario pubblico, la lista di proxy HTTP fornisce candidati per l'URL del proxy senza credenziali del proxy; verificate l'accesso all'host e alla porta IMAP reali.

Due dettagli da verificare

  • La porta del tunnel è 993. Il proxy deve consentire CONNECT verso imap.example:993. Un intermediario che consente tunnel verso siti web solo sulla 443 può rifiutare questa richiesta anche con credenziali del proxy valide.
  • La casella di posta resta protetta da TLS. secure: true si applica alla connessione della casella di posta. Lo schema http dell'URL del proxy identifica il listener dell'intermediario, non un sostituto del nome host IMAP.

Se l'intermediario richiede un accesso, fornite il suo account tramite il formato URL del proxy supportato da ImapFlow. Mantenete l'account della casella di posta in auth. Questo esempio usa il percorso proxy standard di Node; il trasporto runtime personalizzato di ImapFlow non può essere combinato con proxy.

Articoli correlati