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
หากตัวกลางต้องการเข้าสู่ระบบ ให้บัญชีของมันผ่านรูปแบบ URL พร็อกซีที่ ImapFlow รองรับ เก็บบัญชีกล่องจดหมายไว้ใน auth ตัวอย่างนี้ใช้เส้นทางพร็อกซีมาตรฐานของ Node การขนส่งรันไทม์ที่กำหนดเองของ ImapFlow ไม่สามารถใช้ร่วมกับ proxy ได้