The IMAP extension in PHP enables you to communicate with email servers via both the IMAP and POP protocols. Without it enabled, all plugins that use imap_* functions won’t work. KSD Mail is one such plugin. To allow you to seamlessly manage your customer support tickets from one pretty interface ( including tickets logged by sending emails to your-support-email@your-domain.com), KSD Mail interacts with your email server using IMAP.

As handy as it is, the extension isn’t always enabled by default by all web hosts. The method you’ll need to use to enable IMAP support in PHP will depend on your access level, expertise and preference. We highly, highly recommend method 1

1. Ask for it

Your host ought to have the extension enabled; if they don’t, they should be able to enable it without you jumping through hoops. Here’s a (tried & tested) letter:

Hi {hosting company} support,I hope this finds you kicking dragons, taking names and being super awesome. I’d like you to enable the PHP IMAP extension for my account. It’ll go a long way to further cement this long-running (hosting) relationship of ours. Thanks!

Then sit back and watch your (hosting) relationship grow. If that fails, you have two options – start hosting with us or move on to the next steps

2. Modify php.ini

Php.ini holds PHP’s configuration. You’ll need to modify this. You can do this in different ways but we’ll go through how to do it using your account’s FTP credentials.

Put this in a file:
<?php phpinfo(); ?>

Save it as info.php. Use your FTP credentials and upload that file to the public_html (or www) directory on your account.

In your browser, navigate to www.yourdomain.com/info.php. Copy the line that contains Loaded Configuration File

phpini_copying

Also, copy the line that contains DOCUMENT_ROOT
php_enable_imap_doc_root
Put this in another file:
<?php system( "cp /path1/copied/in/the/previous/step/php.ini /home/yourusername/public_html/php.ini");?>

Replace /path/copied/in/the/previous/step/php.ini with the first path you copied in the previous step. Replace /home/yourusername/public_html/php.ini with the second path

Save that file as copy.php and upload it to your server. Navigate to www.yourdomain.com/copy.php

Congratulations! We are almost done. You’ve successfully copied your web host’s PHP configuration. Now, FTP into your account and navigate to the public_html (or www) directory. There should be a php.ini file in there. Download that file and open it with Notepad. Search for ‘imap’. You’ll find this line:

;extension=php_imap.so

Remove the semi-colon at the beginning of that line.

If that line doesn’t exist, find any line that starts with extension= and below it, add extension=php_imap.so

Save the file and upload it to your account. That’s it. All is well – you are done. IMAP is enabled. Have a drink on us and send the bill using a carrier pigeon

NB: Be sure to delete copy.php and info.php created during this process

Please leave us feedback about this page. Was this article helpful?

Yes / No