IMAP is not working in PHP

2019-08-09 02:55发布

The following code is not working. I get this error: 500 - Internal server error :: Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl}INBOX

Here is the code:

$hostname = 'xxxx';
$username = 'xxxx';
$password = 'xxxx';

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

$emails = imap_search($inbox,'ALL');
if($emails) 
{
    $output = '';
    rsort($emails);
    foreach($emails as $email_number) 
    {
        $overview = imap_fetch_overview($inbox,$email_number,0);
        $message = imap_fetchbody($inbox,$email_number,2);

        $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.= '<div class="body">'.$message.'</div>';
    }
    echo $output;
} 

imap_close($inbox);

标签: php imap
1条回答
迷人小祖宗
2楼-- · 2019-08-09 03:20

I just tested and was able to get that exact error. To fix it, I did this:

1) Turned on IMAP in Google 2) Entered in the correct login credentials.

I believe it was triggered by incorrect login credentials. Also, it appears you can't use prefixes like "recent:" in front of the username.

查看更多
登录 后发表回答