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

関連記事