web-dev-qa-db-ja.com

PHP)でIMAPを使用した証明書エラー

ホスト名の可能なすべての組み合わせを使い果たしましたが、常に証明書エラーが発生するか、IMAP接続が切断されます。

Imap.froiden.comの証明書の失敗:サーバー名が証明書と一致しません:/O=imap.mailhostbox.com/OU=Go to https://www.thawte.com/repository/index.html/OU = Thawte SSL123証明書/ OU =ドメイン検証済み/CN=imap.mailhostbox.com

私が使用したホスト名は '{imap.froiden.com}INBOX '。このエラーを解決するための提案はありますか?

16
Shashank Jain

証明書は明らかに無効です。 imap.mailboxhost.com:993/imap/sslに接続するか、メールサーバーの管理者に連絡して有効な証明書を要求する必要があります。

canは接続文字列imap.froiden.com:993/imap/ssl/novalidate-certを使用して証明書の検証をスキップできますが、shouldそのフラグがすべての 中間者 攻撃者に読み取りと書き込みを許可するため、そうしないでくださいあなたのメール。

28
phihag

これがうまく機能していることを確認できます。

$mb = imap_open("{phoenix.srv.spletnasoba.si:993/imap/ssl/novalidate-cert}","username", "password" );

$emails = array();
$messageCount = imap_num_msg($mb);
for( $MID = 1; $MID <= $messageCount; $MID++ )
{

    $EmailHeaders = imap_headerinfo( $mb, $MID );
    foreach($EmailHeaders as $key => $value) {
        if (validateEmail($value)) {
            $emails[$value] = $key;
            echo $value."\n";
        }
    }
}



function validateEmail($email) {
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}
8
Rok Meglič

Gmailを使用している場合は、Googleアカウントのアカウント設定ページで[安全性の低いアプリへのアクセスを許可する]をオンにして、imap_open()を使用してGmailアカウントにアクセスできるようにしてください。

1
abdul01