0

Hello so i'm trying to retrieve emails from a Gmail account through IMAP ( IMAP enabled and access to less secured app On ) on a PHP page but when i try to connect to my account with imap_open , everything crash. Here is my code :

    <?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); ?>

Thanks for your time

  • What error do you receive? Turn on error reporting first: https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display – ino Dec 28 '17 at 09:43
  • Just before your comment i added those lines :) and yet on IE , i have an error HTTP 500, and on Mozilla/chrome i just get a blank page ( safari aswell , just checked ) – Quentin Oternaud Dec 28 '17 at 09:50

1 Answers1

0

Your PHP is not compiled with IMAP or This is generally a possible effect of IMAP support missing in your php.ini

Please enable it here is a thread that has fixed such issues in different OS and scenario Fatal error: Call to undefined function imap_open() in PHP

PHP 7 and 7.1 has it inbuilt but whereas PHP 5.X or PHP 7.2 may have some issues if IMAP is not enabled Fix for WHM : (as this is not covered in the above link) WHM -> EasyApache 4 -> PHP extensions "php*-php-imap" (eg php72-php-imap in case of PHP 7.2) If still does not work contact your server admin of the hosting provider they will enable it in PHP config

To troubleshoot You need to enable the Error reporting first as in the comments and this link: How do I get PHP errors to display?

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

You can troubleshoot based on results of error reporting

ShaH
  • 140
  • 8