#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 ()