Um proxy HTTP numa ligação ImapFlow
Adicione a opção proxy do ImapFlow a uma ligação IMAP existente e verifique se o intermediário permite a porta da caixa de correio.
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.