Thêm proxy bên cạnh các thiết lập hộp thư khi ImapFlow cần đến máy chủ IMAP qua 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 giữ tài khoản IMAP của ứng dụng. Dùng máy khách này cho trình tự kết nối, công việc hộp thư và đăng xuất hoặc dọn dẹp sau lỗi sẵn có. Với dịch vụ thư truy cập công khai nơi bên trung gian công cộng được phép, danh sách proxy HTTP cung cấp ứng viên cho URL proxy mà không cần thông tin xác thực proxy; hãy kiểm tra quyền truy cập tới máy chủ và cổng IMAP thực tế.

Hai chi tiết đáng kiểm tra

  • Cổng đường hầm là 993. Proxy phải cho phép CONNECT tới imap.example:993. Bên trung gian chỉ cho phép đường hầm trang web trên 443 có thể từ chối yêu cầu này ngay cả khi thông tin xác thực proxy hợp lệ.
  • Hộp thư vẫn được bảo vệ bằng TLS. secure: true áp dụng cho kết nối hộp thư. Lược đồ http trong URL proxy chỉ định bộ lắng nghe của bên trung gian, không thay thế tên máy chủ IMAP.

Nếu bên trung gian yêu cầu đăng nhập, hãy cung cấp tài khoản của nó theo định dạng URL proxy mà ImapFlow hỗ trợ. Giữ tài khoản hộp thư trong auth. Ví dụ này dùng đường proxy tiêu chuẩn của Node; transport runtime tùy chỉnh của ImapFlow không thể kết hợp với proxy.

Bài viết liên quan