HTTP-прокси в соединении ImapFlow
Добавьте параметр прокси ImapFlow в существующее соединение IMAP и проверьте, разрешает ли посредник порт почтового ящика.
Добавьте proxy рядом с настройками почтового ящика, когда ImapFlow должен достичь сервера IMAP через прокси 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 хранит учётную запись IMAP приложения. Используйте этот клиент для существующей последовательности подключения, работы с почтовым ящиком и выхода или очистки после сбоя. Для общедоступной почтовой службы, где разрешён публичный посредник, список HTTP-прокси предлагает кандидатов для URL прокси без учётных данных прокси; проверьте доступ к фактическому хосту и порту IMAP.
Две детали, которые стоит проверить
- Порт туннеля — 993. Прокси должен разрешать CONNECT к imap.example:993. Посредник, разрешающий туннели к сайтам только на 443, может отклонить этот запрос даже с действительными учётными данными прокси.
- Почтовый ящик остаётся защищённым TLS. secure: true относится к соединению почтового ящика. Схема http в URL прокси обозначает слушатель посредника, а не замену имени хоста IMAP.
Если посреднику нужен вход, передайте его учётную запись в поддерживаемом ImapFlow формате URL прокси. Храните учётную запись почтового ящика в auth. Этот пример использует стандартный путь прокси Node; собственный runtime-транспорт ImapFlow нельзя сочетать с proxy.