Ошибка сертификата при использовании IMAP в PHP

#php #imap

#php #imap

Вопрос:

Я использовал все возможные комбинации имени хоста, но я всегда либо получаю ошибку сертификата, либо просто разрыв соединения IMAP.

Сбой сертификата для imap.froiden.com : Имя сервера не соответствует сертификату: /O=imap.mailhostbox.com/OU=Go чтобы https://www.thawte.com/repository/index.html/OU=Thawte Сертификат SSL123/OU= Проверенный домен /CN=imap.mailhostbox.com

Имя хоста, которое я использовал, — « {imap.froiden.com}INBOX . Есть предложения по устранению этой ошибки?

Комментарии:

1. сертификат был выдан для imap.mailhostbox.com — для SSL-соединений запрошенное имя хоста и имя хоста, для которого был выдан сертификат, ДОЛЖНЫ совпадать, иначе вы получите эти предупреждения / ошибки. Несоответствие имени хоста (в вредоносной настройке) означает, что кто-то пытается что-то подделать / подделать.

2. @MarcB Ну, я перепробовал все комбинации, но это не работает как imap.froiden.com:993/imap/ ssl . Есть ли что-нибудь, что мне нужно настроить на моем хосте?

3. Вы должны использовать imap.mailboxhost.com:993/imap/ssl, предполагая, что сертификат правильный и он действительно передается с компьютера с именем imap.mailhostbox.com

4. @MarcB: приводит к таймауту.

Ответ №1:

Сертификат явно недействителен. Вы должны либо подключиться imap.mailboxhost.com:993/imap/ssl , либо связаться с администратором почтового сервера и запросить действительный сертификат.

Обратите внимание, что, хотя вы можете использовать строку подключения imap.froiden.com:993/imap/ssl/novalidate-cert для пропуска проверки сертификата, вы не должны этого делать, поскольку этот флаг позволит любому злоумышленнику, находящемуся посередине, прочитать и записать ваше электронное письмо.

Комментарии:

1. Спасибо, {imap.example.com/ssl/novalidate-cert}INBOX это сработало

2. Спасибо {example.com:993/imap/ssl/novalidate-cert} ВХОДЯЩИЕ действительно сработали для меня. Я действительно счастлив. Я хочу тебя обнять.

Ответ №2:

Я могу подтвердить, что это работает хорошо:

 $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);
}
  

Ответ №3:

Если вы используете gmail, убедитесь, что вы включили «Разрешить доступ для менее защищенных приложений» на странице настроек учетной записи вашей учетной записи Google, чтобы вы могли получить доступ к своей учетной записи gmail с помощью imap_open ()