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를 바꾸십시오. 공개 중개자가 허용되는 공개적으로 접근 가능한 메일 서버의 경우, SOCKS5 프록시 목록이 표시된 자격 증명 없는 프록시 URL의 후보를 제공합니다. 메일 계정과 TLS 설정을 유지하면서 실제 메일 호스트와 포트에 대한 접근을 확인하십시오.
CURLOPT_USERNAME/CURLOPT_PASSWORD는 메일 서버에 인증합니다. SOCKS 계정이 필요한 경우 별도로 지원되는 프록시 자격 증명 옵션을 사용합니다. PHP IMAP 확장은 다른 클라이언트이며 이러한 설정으로 구성되지 않습니다.
IMAPS 대상에 대해 인증서 및 호스트 이름 확인을 켜 두십시오. 둘 다 비활성화하는 것은 라우팅의 전제 조건이 아닙니다.
애플리케이션의 전송/결과 처리 중에 실패한 단계를 식별하십시오: SOCKS 협상, 메일 TLS, IMAP 로그인 또는 사서함 선택. 접근 가능한 프록시는 UID 1이 존재함을 보여주지 않습니다.