Añada proxy junto a la configuración del buzón cuando ImapFlow deba alcanzar un servidor IMAP a través de 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 la cuenta IMAP de la aplicación. Utilice este cliente para la secuencia existente de conexión, trabajo con el buzón y cierre de sesión o limpieza tras un fallo. Para un servicio de correo accesible públicamente donde se permite un intermediario público, la lista de proxies HTTP ofrece candidatos para la URL del proxy sin credenciales de proxy; compruebe el acceso al host y al puerto IMAP reales.

Dos detalles que conviene comprobar

  • El puerto del túnel es 993. El proxy debe permitir CONNECT hacia imap.example:993. Un intermediario que solo permite túneles de sitios web en 443 puede rechazar esta solicitud incluso con credenciales de proxy válidas.
  • El buzón sigue protegido con TLS. secure: true se aplica a la conexión del buzón. El esquema http de la URL del proxy identifica el escucha del intermediario, no un sustituto del nombre de host IMAP.

Si el intermediario necesita un inicio de sesión, proporcione su cuenta mediante el formato de URL de proxy admitido por ImapFlow. Mantenga la cuenta del buzón en auth. Este ejemplo utiliza la ruta de proxy estándar de Node; el transporte personalizado de runtime de ImapFlow no puede combinarse con proxy.

Artículos relacionados