SOCKS വഴി IMAPS-നായി PHP cURL കോൺഫിഗർ ചെയ്യുക
ലിങ്ക് ചെയ്ത libcurl IMAP പിന്തുണയ്ക്കുന്ന PHP cURL ഹാൻഡിലിൽ, വെവ്വേറെ മെയിൽ, പ്രോക്സി അക്കൗണ്ടുകളോടെ ഒരു IMAPS റൂട്ട് സജ്ജമാക്കുക.
$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,
]);ഇത് നിലവിലുള്ള ഒരു ആപ്ലിക്കേഷന്റെ മെയിൽ കൈമാറ്റം കോൺഫിഗർ ചെയ്യുന്നു; PHP-യുടെ cURL റൺടൈം IMAP പിന്തുണയുള്ള libcurl-ലേക്ക് ലിങ്ക് ചെയ്തിരിക്കണം. അതിന്റെ സാന്നിധ്യം മാത്രം ബിൽഡ് ചെയ്ത എല്ലാ പ്രോട്ടോക്കോളുകളും സ്ഥിരീകരിക്കുന്നില്ല. എൻഡ്പോയിന്റുകളും മെയിൽബോക്സ് UID-യും മാറ്റുക. പൊതു ഇടനിലക്കാർ അനുവദിക്കുന്ന, പൊതുവായി എത്തിച്ചേരാവുന്ന ഒരു മെയിൽ സെർവറിന്, കാണിച്ചിരിക്കുന്ന ക്രെഡൻഷ്യലുകളില്ലാത്ത പ്രോക്സി URL-ന് SOCKS5 പ്രോക്സി പട്ടിക സ്ഥാനാർത്ഥികൾ നൽകുന്നു; മെയിൽ അക്കൗണ്ടും TLS ക്രമീകരണങ്ങളും നിലനിർത്തിക്കൊണ്ട് യഥാർത്ഥ മെയിൽ ഹോസ്റ്റിലേക്കും പോർട്ടിലേക്കുമുള്ള പ്രവേശനം സ്ഥിരീകരിക്കുക.
CURLOPT_USERNAME/CURLOPT_PASSWORD മെയിൽ സെർവറിൽ ആധികാരികത ഉറപ്പാക്കുന്നു. ആവശ്യമെങ്കിൽ ഒരു SOCKS അക്കൗണ്ട് വെവ്വേറെ പിന്തുണയ്ക്കുന്ന പ്രോക്സി ക്രെഡൻഷ്യൽ ഓപ്ഷനുകൾ ഉപയോഗിക്കുന്നു. PHP IMAP എക്സ്റ്റൻഷൻ മറ്റൊരു ക്ലയന്റാണ്, ഈ ക്രമീകരണങ്ങളാൽ ഇത് കോൺഫിഗർ ചെയ്യപ്പെടുന്നില്ല.
IMAPS ലക്ഷ്യസ്ഥാനത്തിന് സർട്ടിഫിക്കറ്റ്, ഹോസ്റ്റ്നെയിം പരിശോധന ഓണായി വയ്ക്കുക. രണ്ടും നിർത്തലാക്കുന്നത് റൂട്ടിംഗിനുള്ള മുൻവ്യവസ്ഥയല്ല.
ആപ്ലിക്കേഷന്റെ കൈമാറ്റം/ഫല കൈകാര്യം ചെയ്യുന്ന സമയത്ത് പരാജയപ്പെട്ട ഘട്ടം തിരിച്ചറിയുക: SOCKS ചർച്ചകൾ, മെയിൽ TLS, IMAP ലോഗിൻ അല്ലെങ്കിൽ മെയിൽബോക്സ് തിരഞ്ഞെടുക്കൽ. എത്തിച്ചേരാവുന്ന ഒരു പ്രോക്സി UID 1 നിലവിലുണ്ടെന്ന് കാണിക്കുന്നില്ല.