IMAP在PHP中不起作用 [英] IMAP is not working in PHP
问题描述
以下代码不起作用.我收到此错误:500 - Internal server error :: Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl}INBOX
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
这是代码:
$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);
推荐答案
我刚刚进行了测试,能够得到确切的错误.为了解决这个问题,我这样做:
I just tested and was able to get that exact error. To fix it, I did this:
1)在Google中启用了IMAP 2)输入正确的登录凭据.
1) Turned on IMAP in Google 2) Entered in the correct login credentials.
我认为它是由错误的登录凭据触发的.另外,似乎您不能在用户名前使用前缀"recent:".
I believe it was triggered by incorrect login credentials. Also, it appears you can't use prefixes like "recent:" in front of the username.
这篇关于IMAP在PHP中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!