$handle = curl_init('imaps://mail.example.com/INBOX/;UID=1');
curl_setopt_array($handle, [
    CURLOPT_PROXY => 'socks5h://203.0.113.10:1080',
    CURLOPT_USERNAME => getenv('MAIL_USER'),
    CURLOPT_PASSWORD => getenv('MAIL_PASSWORD'),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 20,
]);

การตั้งค่านี้กำหนดค่าการถ่ายโอนอีเมลของแอปพลิเคชันที่มีอยู่แล้ว รันไทม์ cURL ของ PHP ต้องเชื่อมโยงกับ libcurl ที่รองรับ IMAP การมีอยู่เพียงอย่างเดียวไม่ได้ยืนยันทุกโปรโตคอลที่สร้างขึ้น แทนที่ปลายทางและ UID ของกล่องจดหมาย สำหรับเซิร์ฟเวอร์อีเมลที่เข้าถึงได้จากสาธารณะซึ่งอนุญาตให้ใช้ตัวกลางสาธารณะ รายการพร็อกซี SOCKS5 เสนอผู้สมัครสำหรับ URL พร็อกซีที่ไม่มีข้อมูลรับรองตามที่แสดง ยืนยันการเข้าถึงโฮสต์และพอร์ตอีเมลจริงโดยคงบัญชีอีเมลและการตั้งค่า TLS ไว้

CURLOPT_USERNAME/CURLOPT_PASSWORD ตรวจสอบสิทธิ์กับเซิร์ฟเวอร์อีเมล บัญชี SOCKS เมื่อจำเป็นจะใช้ตัวเลือกข้อมูลรับรองพร็อกซีที่รองรับแยกต่างหาก ส่วนขยาย PHP IMAP เป็นไคลเอนต์อีกตัวและไม่ได้ถูกกำหนดค่าโดยการตั้งค่าเหล่านี้

เปิดการตรวจสอบใบรับรองและชื่อโฮสต์ไว้สำหรับปลายทาง IMAPS การปิดทั้งสองอย่างไม่ใช่เงื่อนไขเบื้องต้นของการกำหนดเส้นทาง

ระหว่างการจัดการการถ่ายโอน/ผลลัพธ์ของแอปพลิเคชัน ให้ระบุขั้นตอนที่ล้มเหลว: การเจรจา SOCKS, TLS ของอีเมล, การเข้าสู่ระบบ IMAP หรือการเลือกกล่องจดหมาย พร็อกซีที่เข้าถึงได้ไม่ได้แสดงว่า UID 1 มีอยู่

บทความที่เกี่ยวข้อง