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 が存在することを示すものではありません。