在PHP中使用IMAP的证书错误

Sha*_*ain 16 php imap

我用尽了主机名的所有可能组合,但我总是得到证书错误或只是IMAP连接断开.

imap.froiden.com证书失败:服务器名称与证书不匹配:/O=imap.mailhostbox.com/OU=转至 https://www.thawte.com/repository/index.html/OU=Thawte SSL123证书/ OU = Domain Validated/CN = imap.mailhostbox.com

我使用的主机名是' {imap.froiden.com}INBOX'.有什么建议来解决这个错误?

phi*_*hag 28

证书无效.您应该连接imap.mailboxhost.com:993/imap/ssl或联系邮件服务器的管理员并要求提供有效的证书.

请注意,虽然您可以使用连接字符串imap.froiden.com:993/imap/ssl/novalidate-cert来跳过证书验证,但您不应该这样做,因为该标志将允许任何Man In The Middle攻击者读取和写入您的电子邮件.

  • 谢谢 {example.com:993/imap/ssl/novalidate-cert} INBOX 为我工作。我真的很高兴。我想要抱你。 (3认同)
  • 谢谢您,{{imap.example.com/ssl/novalidate-cert} INBOX`确实有效 (2认同)

小智 8

我可以证实这很有效:

$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);
}
Run Code Online (Sandbox Code Playgroud)