PHP cURL für IMAPS über SOCKS konfigurieren
Legen Sie eine IMAPS-Route auf einem PHP-cURL-Handle an, dessen verlinktes libcurl IMAP unterstützt, mit getrennten Mail- und Proxy-Konten.
$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,
]);
Dies konfiguriert die Mailübertragung einer bestehenden Anwendung; die cURL-Laufzeit von PHP muss gegen libcurl mit IMAP-Unterstützung gelinkt sein. Allein ihre Anwesenheit belegt nicht jedes eingebaute Protokoll. Ersetzen Sie die Endpunkte und die Postfach-UID. Für einen öffentlich erreichbaren Mailserver, auf dem öffentliche Vermittler zulässig sind, bietet die SOCKS5-Proxy-Liste Kandidaten für die gezeigte anmeldedatenfreie Proxy-URL; bestätigen Sie den Zugriff auf den tatsächlichen Mailhost und Port, während Mailkonto und TLS-Einstellungen erhalten bleiben.
CURLOPT_USERNAME/CURLOPT_PASSWORD authentifizieren sich am Mailserver. Ein SOCKS-Konto verwendet, falls erforderlich, separate unterstützte Proxy-Anmeldeoptionen. Die PHP-IMAP-Erweiterung ist ein anderer Client und wird durch diese Einstellungen nicht konfiguriert.
Lassen Sie die Zertifikats- und Hostnamenprüfung für das IMAPS-Ziel aktiviert. Beides zu deaktivieren ist keine Voraussetzung für das Routing.
Identifizieren Sie während der Übertragungs-/Ergebnisbehandlung der Anwendung die fehlgeschlagene Stufe: SOCKS-Aushandlung, Mail-TLS, IMAP-Anmeldung oder Postfachauswahl. Ein erreichbarer Proxy belegt nicht, dass UID 1 existiert.