PHP cURL:n määrittäminen IMAPS:lle SOCKSin kautta
Määritä IMAPS-reitti PHP cURL -kahvaan, jonka linkitetty libcurl tukee IMAPia, erillisillä posti- ja välityspalvelintileillä.
$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,
]);
Tämä määrittää olemassa olevan sovelluksen postinsiirron; PHP:n cURL-ajoympäristö on linkitettävä libcurliin, joka tukee IMAPia. Pelkkä sen läsnäolo ei todista kaikkia sisäänrakennettuja protokollia. Korvaa päätepisteet ja postilaatikon UID. Julkisesti saavutettavalle postipalvelimelle, jossa julkiset välittäjät ovat sallittuja, SOCKS5-välityspalvelinluettelo tarjoaa ehdokkaita näytetylle tunnistetiedottomalle välityspalvelimen URL:lle; vahvista pääsy todelliseen posti-isäntään ja porttiin säilyttäen postitili ja TLS-asetukset.
CURLOPT_USERNAME/CURLOPT_PASSWORD todentavat postipalvelimelle. SOCKS-tili käyttää tarvittaessa erillisiä tuettuja välityspalvelimen tunnistetietovaihtoehtoja. PHP IMAP -laajennus on toinen asiakasohjelma, eikä näitä asetuksia käytetä sen määrittämiseen.
Pidä varmenteen ja isäntänimen vahvistus käytössä IMAPS-kohteelle. Molempien poistaminen käytöstä ei ole reitityksen edellytys.
Tunnista sovelluksen siirtoa/tulosta käsitellessäsi epäonnistunut vaihe: SOCKS-neuvottelu, postin TLS, IMAP-kirjautuminen tai postilaatikon valinta. Saavutettavissa oleva välityspalvelin ei osoita, että UID 1 on olemassa.