通过PHP IMAP连接Gmail吗? 当地发行人证书错误[复制](connect gmail

2019-08-17 08:02发布

这个问题已经在这里有一个答案:

  • 使用IMAP证书错误在PHP 3个回答

我需要通过连接到Gmail帐户IMAP使用PHP 。 我有一些工作代码,而是试图建立连接的时候,我收到以下错误:

警告:imap_open()[function.imap开]:无法打开流{imap.gmail.com:993/ssl}[Gmail]/All邮件中的线/home/demoosiz/public_html/goqlue/email.php 31
无法连接到Gmail:证书失效的imap.gmail.com:无法获取本地颁发者证书:/ C = US / O =谷歌公司/ CN =谷歌的互联网局

我的代码如下

<?php
    /* connect to gmail */
    $hostname = '{imap.gmail.com:993/ssl}[Gmail]/All Mail';
    $username = 'hidden';
    $password = 'hidden';

    /* try to connect */
    $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());

    /* grab emails */
    $emails = imap_search($inbox,'ALL');

    /* if emails are returned, cycle through each... */
    if($emails) {

      /* begin output var */
      $output = '';

      /* put the newest emails on top */
      rsort($emails);

      /* for every email... */
      foreach($emails as $email_number) {

        /* get information specific to this email */
        $overview = imap_fetch_overview($inbox,$email_number,0);
        $message = imap_fetchbody($inbox,$email_number,2);

        /* output the email header information */
        $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
        $output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
        $output.= '<span class="from">'.$overview[0]->from.'</span>';
        $output.= '<span class="date">on '.$overview[0]->date.'</span>';
        $output.= '</div>';

        /* output the email body */
        $output.= '<div class="body">'.$message.'</div>';
      }

      echo $output;
    } 

    /* close the connection */
    imap_close($inbox);
    ?>

Answer 1:

这似乎是一个证书的问题。

我不告诉你什么证书问题是,也不知道如何解决它。

但是, 您可以通过忽略这一问题禁用证书验证 留下您的Gmail帐户开放的攻击

$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail';


Answer 2:

无法连接到Gmail:证书失效的imap.gmail.com:无法获取本地颁发者证书:/ C = US / O =谷歌公司/ CN =谷歌的互联网局

你执行的代码系统缺少该证书。 没有更多可以了解这个您提供与您有关的资料说。 请参考操作系统的系统文件,你有如何安装证书,以及如何将收购所需要的证书。

见还有:

  • 用PHP IMAP证书错误


文章来源: connect gmail through php imap? local issuer certificate error [duplicate]
标签: php gmail imap