Adicione proxy ao lado das definições da caixa de correio quando o ImapFlow tiver de alcançar um servidor IMAP através de um 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 contém a conta IMAP da aplicação. Use este cliente para a sequência existente de ligação, trabalho na caixa de correio e terminação de sessão ou limpeza após falha. Para um serviço de correio acessível publicamente onde é permitido um intermediário público, a lista de proxies HTTP fornece candidatos para o URL do proxy sem credenciais de proxy; verifique o acesso ao anfitrião e à porta IMAP reais.

Dois detalhes que vale a pena verificar

  • A porta do túnel é 993. O proxy tem de permitir CONNECT para imap.example:993. Um intermediário que só permite túneis de sites na 443 pode rejeitar este pedido mesmo com credenciais de proxy válidas.
  • A caixa de correio continua protegida por TLS. secure: true aplica-se à ligação da caixa de correio. O esquema http do URL do proxy identifica o ouvinte do intermediário, não um substituto do nome do anfitrião IMAP.

Se o intermediário exigir início de sessão, forneça a sua conta através do formato de URL de proxy suportado pelo ImapFlow. Mantenha a conta da caixa de correio em auth. Este exemplo usa o caminho de proxy padrão do Node; o transporte de runtime personalizado do ImapFlow não pode ser combinado com proxy.

Artigos relacionados