您好我正在尝试通过IMAP(启用IMAP并访问安全性较低的应用程序)从Gmail帐户检索电子邮件,但是当我尝试使用imap_open连接到我的帐户时,一切都崩溃了。这是我的代码:
<?php
/* connect to gmail */ $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$username = 'xxxx@gmail.com';
$password = 'xxxxxxxxxxxxxxxx';
echo "test";
echo extension_loaded ( "imap" );
/* try to connect */
$inbox = imap_open($hostname,$username,$password);
echo "test";
/* 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 */
echo "test";
$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number, 1.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); ?>
感谢您的时间
答案 0 :(得分:0)
您的PHP未使用IMAP编译 要么 通常,这可能是php.ini中缺少IMAP支持的一种可能的影响
请在此处启用它,该线程已解决了不同操作系统和场景中的此类问题 Fatal error: Call to undefined function imap_open() in PHP
PHP 7和7.1具有内置功能,但是如果未启用IMAP,则PHP 5.X或PHP 7.2可能会有一些问题 修复WHM :(因为上面的链接中未涵盖) WHM-> EasyApache 4-> PHP扩展“ php * -php-imap”(例如,在PHP 7.2的情况下为php72-php-imap) 如果仍然无法正常工作,请与托管服务提供商的服务器管理员联系,他们将在PHP配置中启用它
要进行故障排除,您需要先启用“错误”报告,如注释和以下链接中所示:How do I get PHP errors to display?
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
您可以根据错误报告的结果进行故障排除