Schedule a Free Consultation

How to compile IMAP with SSL for PHP on OSX – works on MAMP as well

Read Article

This tutorial is an attempt to alleviate the headaches for all those that need to have IMAP with SSL running on OSX 😃

Needed stuff

autoconf
openssl
libxml2
imap2007 install with brew “brew install imap-uw”
OR
download from https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/ (the archive without Z at the end ) imap-2007e
To install libxml2, you can use brew: brew install openssl libxml2 mcrypt
To link openssl to libxml2: brew link openssl libxml2 –force
See screenshot below:

installing_openssl_libxm12_mcrypt

Steps

Download map-2007e, unzip and run with terminal
make osx EXTRACFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp” 
it will create a folder c-client and might give a few warning, if it’s not fatal error, go on
use the following commands after running the command and the folder c-client is created
sudo mkdir -p /usr/local/include
sudo cp c-client/*.h /usr/local/include/
sudo mkdir /usr/local/lib
sudo cp c-client/*.c /usr/local/lib/
sudo cp c-client/c-client.a /usr/local/lib/libc-client.a
Now, download the version of PHP you require ( the one you use in MAMP )
– go to /Applications/MAMP/bin/php/<your_php_version> and create the folders /include/php/
– extract the php files there
– open terminal in that folder and run
./configure
cd ext/imap
phpize
./configure --with-imap=/usr/local/imap-2007 --with-kerberos --with-imap-ssl=/usr/
make
if
./configure –with-imap=/usr/local/imap-2007 –with-kerberos –with-imap-ssl=/usr/ fails
TRY
imap-2007f = depends on which one you installed
/Applications/MAMP/bin/php/php5.5.26/bin/php-config path to your php from MAMP for which you need the map with SSL
env LDFLAGS=”-lssl -lcrypto” ./configure –with-imap=/usr/local/imap-2007f –with-kerberos –with-imap-ssl –with-php-config=/Applications/MAMP/bin/php/php5.5.26/bin/php-config
if needed for –with-imap-ssl do –with-imap-ssl=/path_to_folder_that_contains evp.h file

Now pray 🙂 

If your prayers have been answered, go to the extracted php files, go to folder ext/imap/modules/ and copy map.so and map.la to

/Applications/MAMP/bin/php/YOUR_PHP_VERSION/lib/php/extensions/no-debug-non-zts-20100525/
Tutorials that do not work from end to end, but they are worth mentioning as they provided useful information:

This was address further up. Simply swap out:


./configure --with-imap=/usr/local/imap-2007f --with-kerberos --with-imap-ssl

With:


LDFLAGS="-lssl -lcrypto" ./configure --with-imap=/usr/local/imap-2007f --with-kerberos --with-imap-ssl

Relax and enjoy 🙂

Now drop us a line in comments and let us know if you’ve managed to make it work for you or if you still have issues.

Navigate to

Check some other articles we wrote

What Can You Build With WordPress?
In today’s world, having a business and no website is like trying to drive a car with no engine. Sure, you can reach your destination if you get out and push your car, but wouldn’t it be a lot easier if you just had the engine in the first place? We can say the same […]
Hiring a WordPress Maintenance Agency: Top 10 Questions To Ask
How do you determine which WordPress maintenance agency is right for your website? We’ve put together ten questions you should be asking the agency representative before signing any contract.