在 PHP 中使用 IMAP 时出现证书错误

2022-08-30 20:46:22

我用完了所有可能的主机名组合,但我总是收到证书错误或只是IMAP连接中断。

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

我使用的主机名是''。解决此错误的建议?{imap.froiden.com}INBOX


答案 1

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

请注意,虽然您可以使用连接字符串跳过证书验证,但不应这样做,因为该标志将允许任何中间人攻击者读取和写入您的电子邮件。imap.froiden.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);
}

推荐