پیکربندی PHP cURL برای IMAPS از طریق SOCKS
یک مسیر IMAPS روی یک هندل PHP cURL که libcurl متصلش از IMAP پشتیبانی میکند تنظیم کنید، با حسابهای جداگانه ایمیل و پروکسی.
$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 وجود دارد.