2011-10-25 10 views
13

Ho utilizzato tutte le possibili combinazioni di hostname ma ottengo sempre un errore di certificato o solo una connessione IMAP interrotta.Errore di certificato tramite IMAP in PHP

fallimento certificato per imap.froiden.com: Nome server non corrisponde certificato: /O=imap.mailhostbox.com/OU=Go per https://www.thawte.com/repository/index.html/OU=Thawte SSL123 certificato/OU = Domain Validated/CN = imap .mailhostbox.com

Il nome host che ho utilizzato è '{imap.froiden.com}INBOX'. Qualche suggerimento per risolvere questo errore?

+1

il cert è stato rilasciato per "imap.mailhostbox.com" - per le connessioni SSL, il nome host richiesto e il nome host il certificato è stato emesso per la corrispondenza MUST, oppure tu " sto per ottenere questi avvertimenti/errori. La mancata corrispondenza del nome host (in un'impostazione malevola) indica che qualcuno sta cercando di falsificare/falsificare qualcosa. –

+0

@MarcB Bene, ho provato ogni combinazione ma non funziona come ** imap.froiden.com: 993/imap/ssl **. C'è qualcosa che devo configurare sul mio host? –

+0

Dovresti utilizzare imap.mailboxhost.com:993/imap/ssl, assumendo che il certificato sia corretto e che venga effettivamente fornito da una macchina denominata imap.mailhostbox.com –

risposta

19

Il certificato è semplicemente non valido. È necessario connettersi a imap.mailboxhost.com:993/imap/ssl o contattare l'amministratore del server di posta e chiedere un certificato valido.

notare che, mentre si possibile utilizzare la stringa di connessione imap.froiden.com:993/imap/ssl/novalidate-cert di saltare la convalida dei certificati, si dovrebbe non farlo come quella bandiera permetterà a qualsiasi Man In The Middle utente malintenzionato di leggere e scrivere e-mail.

+0

Grazie, la funzione "{imap.example.com/ssl/novalidate-cert} INBOX" ha funzionato – michalzuber

4

posso confermare questo funziona bene:

$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

Nel caso in cui si sta utilizzando Gmail, assicurarsi che si accende "Consentire l'accesso per le applicazioni meno sicure" nella pagina delle impostazioni dell'account del tuo account Google per per poter accedere al tuo account Gmail usando imap_open()

Problemi correlati