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

发布于 2024-12-11 13:45:42 字数 387 浏览 0 评论 0原文

我用完了所有可能的主机名组合,但总是出现证书错误或只是 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”。有什么建议来解决这个错误吗?

I used up all possible combinations of hostname but I always either get a certificate error or just IMAP connection broken.

Certificate failure for imap.froiden.com: Server name does not match
certificate: /O=imap.mailhostbox.com/OU=Go to
https://www.thawte.com/repository/index.html/OU=Thawte SSL123
certificate/OU=Domain Validated/CN=imap.mailhostbox.com

Hostname which I used is '{imap.froiden.com}INBOX'. ANy suggestion to solve this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉宸 2024-12-18 13:45:42

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

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

The certificate is plain invalid. You should either connect to imap.mailboxhost.com:993/imap/ssl or contact the administrator of the mail server and ask for a valid certificate.

Note that while you can use the connection string imap.froiden.com:993/imap/ssl/novalidate-cert to skip certificate validation, you should not do so as that flag will allow any Man In The Middle attacker to read and write your email.

南烟 2024-12-18 13:45:42

我可以确认这运行良好:

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

I can confirm this is working well:

$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);
}
浊酒尽余欢 2024-12-18 13:45:42

如果您使用的是 Gmail,请确保在 Google 帐户的帐户设置页面中打开“允许访问不太安全的应用程序”,以便能够使用 imap_open() 访问您的 Gmail 帐户

In case you're using gmail, make sure you turn on "Allow access for less secure apps" in the account settings page of your google account for you to be able to access your gmail account using imap_open()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文