2011-10-25 34 views
13

Utilicé todas las combinaciones posibles de nombre de host, pero siempre recibo un error de certificado o simplemente una conexión IMAP rota.Error de certificado con IMAP en PHP

fracaso Certificado de imap.froiden.com: Nombre del servidor no coincide con el certificado : /O=imap.mailhostbox.com/OU=Go a https://www.thawte.com/repository/index.html/OU=Thawte SSL123 certificado /OU = Domain Validado/CN = IMAP .mailhostbox.com

Nombre de host que he usado es '{imap.froiden.com}INBOX'. ¿Alguna sugerencia para resolver este error?

+1

el certificado fue emitido para 'imap.mailhostbox.com' - para las conexiones SSL, el nombre de host solicitado y el nombre de host del cual se emitió el certificado DEBE coincidir, o usted ' va a recibir estas advertencias/errores. La falta de coincidencia de nombre de host (en una configuración maliciosa) significa que alguien está tratando de burlar/falsificar algo. –

+0

@MarcB Bueno, probé todas las combinaciones, pero no funciona como ** imap.froiden.com: 993/imap/ssl **. ¿Hay algo que necesite configurar en mi host? –

+0

Debería estar utilizando imap.mailboxhost.com:993/imap/ssl, suponiendo que el certificado es correcto y realmente está siendo servido desde una máquina llamada imap.mailhostbox.com –

Respuesta

19

El certificado no es válido. Debe conectarse al imap.mailboxhost.com:993/imap/ssl o ponerse en contacto con el administrador del servidor de correo y solicitar un certificado válido.

Tenga en cuenta que mientras que usted puede utilizar la cadena de conexión imap.froiden.com:993/imap/ssl/novalidate-cert saltarse la validación de certificados, se debe no hacerlo a medida que la bandera permitirá a cualquier atacante Man In The Middle a leer y escribir a su correo electrónico.

+0

Gracias, el '{imap.example.com/ssl/novalidate-cert} INBOX' funcionó – michalzuber

4

puedo confirmar esto está funcionando bien:

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

En caso de que esté usando Gmail, asegúrese de que encienda "Permitir el acceso de aplicaciones menos seguras" en la página de configuración de la cuenta de su cuenta de Google para usted puede acceder a su cuenta de Gmail usando imap_open()

Cuestiones relacionadas