<html>
<head><title>Mail</title></head>
<body>
<table><tr><td>
<?php
$host='{mail.example.com/notls/imap4}INBOX'; //Host to connect
$user='user';
$pass='password';
$from='someone@example.com'; //Mail to send from
$mail=@imap_open($host,$user,$pass) or die("Can't connect: " . imap_last_error());
if($_REQUEST['delete']) {
$number=$_REQUEST['delete'];
imap_delete($mail,$number);
imap_expunge($mail);
}
if($_REQUEST['see']) {
$number=$_REQUEST['see'];
echo "<pre>";
echo imap_body($mail,$number);
echo "</pre><p>\n\n";
echo "<a href='javascript:history.back()'>Back</a>";
echo "<br><a href='page.php?delete=$number'>Delete</a>";
} else {
if($_REQUEST['create']=="new") {
if($_POST['send_m']) {
$to=$_POST['to'];
$subject=$_POST['title'];
$message=$_POST['mail'];
imap_mail($to,$subject,$message,"From: $from");
}
?>
<form method=POST>
To: <input type="text" name="to"><br>
Title:<input type="text" name="title"><p>
Mail:<br>
<textarea name='mail'>
</textarea><p>
<input type="submit" name='send_m' value='Poąlji'>
</form>
<?php
} else {
$mails=imap_num_msg($mail);
echo "<b>" . $from . "</b> : ";
if($mails==0) {
echo "<i>no mails.</i>";
} else {
echo "$mails mails<p>";
for($i=1;$i<=$mails;$i++) {
$chead=imap_headerinfo($mail,$i);
$mid=ltrim($chead->Msgno);
echo "<a href='page.php?see=$mid'>";
echo $chead->subject;
echo "</a>";
echo "<br>\n";
}
}
echo "<p><a href='page.php?create=new'>New mail</a><p>";
}
}
imap_close($mail);
?>
</tr></td></table>
</body>
</html>
IMAP, POP3 and NNTP Functions
See Also
This document can't go into detail on all the topics touched by the provided functions. Further information is provided by the documentation of the c-client library source (docs/internal.txt). and the following RFC documents:
- » RFC2821: Simple Mail Transfer Protocol (SMTP).
- » RFC2822: Standard for ARPA internet text messages.
- » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
- » RFC1939: Post Office Protocol Version 3 (POP3).
- » RFC977: Network News Transfer Protocol (NNTP).
- » RFC2076: Common Internet Message Headers.
- » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
Table of Contents
- imap_8bit — Convert an 8bit string to a quoted-printable string
- imap_alerts — Returns all IMAP alert messages that have occurred
- imap_append — Append a string message to a specified mailbox
- imap_base64 — Decode BASE64 encoded text
- imap_binary — Convert an 8bit string to a base64 string
- imap_body — Read the message body
- imap_bodystruct — Read the structure of a specified body section of a specific message
- imap_check — Check current mailbox
- imap_clearflag_full — Clears flags on messages
- imap_close — Close an IMAP stream
- imap_createmailbox — Create a new mailbox
- imap_delete — Mark a message for deletion from current mailbox
- imap_deletemailbox — Delete a mailbox
- imap_errors — Returns all of the IMAP errors that have occured
- imap_expunge — Delete all messages marked for deletion
- imap_fetch_overview — Read an overview of the information in the headers of the given message
- imap_fetchbody — Fetch a particular section of the body of the message
- imap_fetchheader — Returns header for a message
- imap_fetchstructure — Read the structure of a particular message
- imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
- imap_get_quotaroot — Retrieve the quota settings per user
- imap_getacl — Gets the ACL for a given mailbox
- imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
- imap_getsubscribed — List all the subscribed mailboxes
- imap_header — Alias of imap_headerinfo
- imap_headerinfo — Read the header of the message
- imap_headers — Returns headers for all messages in a mailbox
- imap_last_error — Gets the last IMAP error that occurred during this page request
- imap_list — Read the list of mailboxes
- imap_listmailbox — Alias of imap_list
- imap_listscan — Returns the list of mailboxes that matches the given text
- imap_listsubscribed — Alias of imap_lsub
- imap_lsub — List all the subscribed mailboxes
- imap_mail_compose — Create a MIME message based on given envelope and body sections
- imap_mail_copy — Copy specified messages to a mailbox
- imap_mail_move — Move specified messages to a mailbox
- imap_mail — Send an email message
- imap_mailboxmsginfo — Get information about the current mailbox
- imap_mime_header_decode — Decode MIME header elements
- imap_msgno — Gets the message sequence number for the given UID
- imap_num_msg — Gets the number of messages in the current mailbox
- imap_num_recent — Gets the number of recent messages in current mailbox
- imap_open — Open an IMAP stream to a mailbox
- imap_ping — Check if the IMAP stream is still active
- imap_qprint — Convert a quoted-printable string to an 8 bit string
- imap_renamemailbox — Rename an old mailbox to new mailbox
- imap_reopen — Reopen IMAP stream to new mailbox
- imap_rfc822_parse_adrlist — Parses an address string
- imap_rfc822_parse_headers — Parse mail headers from a string
- imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info
- imap_savebody — Save a specific body section to a file
- imap_scanmailbox — Alias of imap_listscan
- imap_search — This function returns an array of messages matching the given search criteria
- imap_set_quota — Sets a quota for a given mailbox
- imap_setacl — Sets the ACL for a giving mailbox
- imap_setflag_full — Sets flags on messages
- imap_sort — Gets and sort messages
- imap_status — Returns status information on a mailbox
- imap_subscribe — Subscribe to a mailbox
- imap_thread — Returns a tree of threaded message
- imap_timeout — Set or fetch imap timeout
- imap_uid — This function returns the UID for the given message sequence number
- imap_undelete — Unmark the message which is marked deleted
- imap_unsubscribe — Unsubscribe from a mailbox
- imap_utf7_decode — Decodes a modified UTF-7 encoded string
- imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
- imap_utf8 — Converts MIME-encoded text to UTF-8
add a note
User Contributed Notes
IMAP
IMAP
samo_remec at volja dot net
12-May-2008 11:14
12-May-2008 11:14
bigben3333 - gmail
22-Feb-2008 06:23
22-Feb-2008 06:23
I've tried to compile php with imap sources for 2 days on a mandriva 2006 and it never work...
I succeed only when i uninstall the following RPM witch was already installed on my system :
libc-client
libc-client-devel
imap
imap-devel
here is my configure command :
./configure --with-apache=/usr/local/apache --with-dbase --with-filepro --enable-mbstring --with-xml=/usr/local/php --enable-ftp --with-db --enable-bcmath --enable-calendar --with-mysql --with-zlib-dir --enable-trans-sid --with-imap=/usr/local/imap-2004g --with-kerberos --with-imap-ssl --with-openssl --enable-sysvsem --enable-sysvshm
kvazitron at gmail dot com
11-Feb-2008 02:48
11-Feb-2008 02:48
I successfully installed c-client and compiled php 5.2.5 with imap on FreeBSD 6.3. To get this stuff work, i did following steps:
1) to install c-client:
download and uncompress c-client.tar.Z to folder /usr/local/
cd /usr/local/imap-2007
make bsf
mkdir include
ln -s c-client include
mkdir lib
cd lib
ln -s ../c-client/c-client.a libc-client.a
2) to compile php:
add this options
--with-imap=/usr/local/imap-2007 --with-imap-ssl
mogmios at gmail dot com
19-Oct-2007 12:36
19-Oct-2007 12:36
In Fedora Core 6 64 bit w/ a custom compiled copy of Apache and PHP 4 I had to add packages libc-client*x84_64 and then just used config options --with-imap --with-kerberos --with-imap-ssl.
gpayne at galenaparkisd com
07-Aug-2007 12:48
07-Aug-2007 12:48
You can also use the novalidate-cert flag and it won't bother you about the ssl stuff:
$mailbox = imap_open("{localhost:143/imap/novalidate-cert}INBOX", "user","pw");
mleiv
26-Jul-2007 04:12
26-Jul-2007 04:12
MAC OSX advice for those less experienced in UNIX.
I had a lot of trouble with all the advice here, but I finally got it working, so I thought I'd leave my steps. If you know a decent amount about UNIX you can probably do better on you own.
#1) downloaded version listed by php.net above.
#2) ran "make opx" on it (the three-letter is your OS, opx is later osx versions)
#3) copied resulting c-client/ folder to where I wanted to leave my imap stuff, herafter referred to as IMAP_HOME.
#4) renamed IMAP_HOME/c-client/c-client.a to libc-client.a
#5) ran "configure" on php using --with-imap=IMAP_HOME --with-kerberos --with-imap-ssl (my configure insisted that I use the last two)
#6) make, make install, and restarted Apache. Voila!
At this point you can delete the downloaded imap stuff, or move it to your sources/ folder or whatever.
bogdanderen at mail dot ru
07-Jul-2007 06:41
07-Jul-2007 06:41
INSTALLING IMAP
1. Log in as root:
su -
2. Download IMAP installation
3. Untar the package:
tar -zxf IMAP_PACKAGE_FILENAME
4. Enter the source directory:
cd IMAP_PACKAGE_DIRECTORY
5. Build the package.
# edit Makefile EXTRACFLAGS=-fPIC
# make lrh
6. Install the lib and include files:
# mkdir /IMAP_DIR/lib
# mkdir /IMAP_DIR/include
# cp -r ./src/c-client/*.h /IMAP_DIR/include/
# cp ./c-client/linkage.h /IMAP_DIR/include/
# cp ./src/osdep/unix/*.h /IMAP_DIR/include/
# cp ./src/osdep/unix/*.c /IMAP_DIR/lib/
# rm -rf all files and directories except /IMAP_DIR/include/ & /IMAP_DIR/lib/
7. Create the osdep.h link:
Linux:
# ln -s ./include/c-client/os_slx.h \
/IMAP_DIR/include/osdep.h
INSTALLING PHP (DO NOT --with-kerberos)
--with-imap=/IMAP_DIR
eeescalona at yahoo dot com
20-Feb-2007 12:49
20-Feb-2007 12:49
fyi.
I had an error during this process
*downloaded from ftp.cac.washington.edu imap-2006e.tar.gz
*untarred it as /usr/local/src/imap-2006e.
*made lrh (make lrh)
*copied /usr...imap-2006e/c-client/c-client.a into ..../client/libc-client.a
*cd /usr/local/src/php-4.2.1/
*configured php using ... --with-imap=/usr/local/src/imap-2006e --with-ssl
*and during make the following error occurred.
php_imap.c:71: error: conflicting types for 'utf8_mime2text'
/usr/local/src/imap-2006e//c-client/utf8aux.h:37: error: previous declaration of 'utf8_mime2text' was here
php_imap.c:71: error: conflicting types for 'utf8_mime2text'
/usr/local/src/imap-2006e//c-client/utf8aux.h:37: error: previous declaration of 'utf8_mime2text' was here
make[3]: *** [php_imap.lo] Error 1
make[3]: Leaving directory `/usr/local/src/php-4.2.1/ext/imap'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.2.1/ext/imap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.2.1/ext'
make: *** [all-recursive] Error 1
apparently, apache 4.2.1 and imap-2006e has the same declared function which creates a duplication problem. the utf8_mime2text function is both found on files:
php-4.2.1/imap/php_imap.c (2 occurences)
imap-2006e/c-client/utf8aux.h (1 occurences)
imap-2006e/c-client/utf8aux.c (1 occurrences)
imap-2006e/c-client/mail.c (5 occrences)
bug fixers says i have to upgrade my php, but I cant afford to change versions since i run some home grown developed php software which doesnt work on higher versions.
So I did this.
I replaced all utf8_mime2text texts with utf8_mime2text2 for the imap sources.
since my server is both web and mysql, i used a built in mysql command called 'replace'
$>replace utf8_mime2text utf8_mime2text2 -- /..../c-client/utf8aux.h
$>replace utf8_mime2text utf8_mime2text2 -- /..../c-client/utf8aux.c
$>replace utf8_mime2text utf8_mime2text2 -- /..../c-client/mail.c
then i continued make and make install, without the reported error.
caveats...i just did this to try it. i dunno if it will work later...
couplewith at interpakr dot co dot kr
12-Feb-2007 05:37
12-Feb-2007 05:37
imap-install
1. tar xvzf c-client.tgz
2. cd imap-2006e
3. make lrh # install redhat linux
4. cp c-client/c-client.a /usr/local/lib/libc-client.a
copy head files
c-client/rfc822.h, mail.h 과 linkage.h
/usr/local/include
c-clinet/utf-8.h /usr/local/include
5. if U8T_CANONICAL undefined error
edit php_src/ext/imap/php_imap.c
==add 53 line ==
#include <time.h>
#include <stdio.h>
#include <ctype.h>
#include <signal.h>
+#include "utf8.h"
6. make php installatin step
Marplatense
23-Nov-2006 08:52
23-Nov-2006 08:52
Compiling php with support for imap on a linux 64 bits server (tested with php 5.1.6, php 5.2.0, CentOS 4.4 64 bits and c-client snap 0611201609):
1- download the imap from ftp.
# tar -zxvf imap-2006d.DEV.tar.Z
# cd imap-2006d.DEV.SNAP-0611201609/
# vim MakeFile
2- Search for "EXTRACFLAGS=" and add -fPIC at then end:
before EXTRACFLAGS=
after EXTRACFLAGS=-fPIC
3- save the file and quit
# make lrh
# cd c-client/
# cp /.../imap-2006d.DEV.SNAP-0611201609/c-client/c-client.a /.../imap-2006d.DEV.SNAP-0611201609/c-client/libc-client.a
4- navigate to your php directory and:
# ./configure ... lots of options here and ... --with-imap=/.../imap-2006d.DEV.SNAP-0611201609 --with-imap-ssl
# make
# make install
Additional notes:
a- I choose "lrh" in the make but you might check what's yours option.
b- I made it with ssl support and because of this I added the --with-imap-ssl in the php configure option. You might make it with no SSL
James Triplett <jm-php at vj8 dot net>
05-Apr-2006 07:50
05-Apr-2006 07:50
Building Apache2, PHP and IMAP requires a shareable version
of the c-client library, but the standard UW code doesn't provide one.
I couldn't find any way to build with the libc-client.a without generating piles of relocation errors. (gcc on Solaris 10)
The IMAP c-client library can be built shareable with the following steps:
1. fix the Makefile in .../imap-2004/c-client to include:
BASECFLAGS="-fPIC -O3"
2. make
3. mkdir tmp
4. cd tmp
5. ar xv ../c-client.a (to extract the .o files)
6. gcc -shared -o c-client.so *.o (to create the .so library)
7. copy that c-client.so to /usr/local/imap/lib/libc-client.so
(it may be necessary to hide the libc-client.a)
8. configure PHP ; make; make install
info at toyflish dot de
15-Dec-2005 02:26
15-Dec-2005 02:26
if you are on SuSE9.3 64 and still compiling errors you have to add the -fPIC flag to the EXTRACFLAGS in imap-Makefile.
BjarneDM macintosh at mathiesen dot info
20-Oct-2005 12:49
20-Oct-2005 12:49
Mac OS X client install notes with DarwinPorts
The c-client.a isn't present on your system after you've installed the imap-uw package. !But! it's actually present at a specific time during the install phase as it's being complied from source - it's just deleted at the end of the compilation process. So, we'll have to break the install process down into it's component processes and get hold of what we need at the appropriate time:
sudo port fetch imap-uw
sudo port extract imap-uw
sudo port patch imap-uw
sudo port configure imap-uw
sudo port build imap-uw
imapLib=/darwinports/var/db/dports/distfiles/imap-uw/lib
imapIncludes=/darwinports/var/db/dports/distfiles/imap-uw/include
sudo mkdir ${imapLib} ${imapInclude}
cd /darwinports/var/db/dports/build/*/*/*/c-client
sudo cp *.c ${imapLib}
sudo cp *.h ${imapIncludes}
sudo cp c-client.a ${imapLib}/libc-client.a
cd ${imapLib}
ranlib - libc-client.a
sudo port install imap-uw
Now, you can just specify:
--with-imap=/darwinports/var/db/dports/distfiles/imap-uw \
--with-imap-ssl=/darwinports \
in your ./configure command.
php at got2get dot net
07-Sep-2005 08:04
07-Sep-2005 08:04
Install note for FreeBSD:
If you get this:
/libexec/ld-elf.so.1: /usr/local/lib/php/20041030/imap.so: Undefined symbol "ssl_onceonlyinit"
...in your httpd-error.log.
It is because you compiled cclient without SSL support.
However. In order for me to get SquirrelMail woorking, I had to install ports/mail/imap-uw with WITHOUT_SSL=yes and same option for ports/mail/cclient. After doing this, I recompiled cclient w/o any options to get SSL support, and then installed posrt/mail/php5-imap.
This works. But if you just want SSL everywhere - install imap-uw normally, which will install cclient too. After that, install php5-imap normally as well - and you have a working system with SSL.
Hope this saves more people from wasting too much time like I just did ;)
- Nicolai
sinasalek at gmail dot com
24-Jun-2005 07:35
24-Jun-2005 07:35
if you want connect to Secure(SSL) POP3 server, enabling openssl isn't enough in windows,
take a look at this
http://archives.devshed.com/a/ng/557-23605/
v dot 0000000001 dot -0006398047 at vertabiz dot com
23-Jun-2005 09:01
23-Jun-2005 09:01
Since this library at a whole is fairly poorly documented, and it doesn't help that there's 30-something functions, and many of the functions do the same things, I have gone through and categorized the functions. Hopefully this will help somebody else, I know it will help me!! -Justin
CONNECTION, ERRORS & QUOTAS
===========================
imap_timeout
imap_ping
imap_open
imap_reopen
imap_close
imap_check **(fairly useless)
imap_alerts
imap_errors
imap_last_error
imap_get_quota
imap_get_quotaroot
imap_set_quota
MESSAGES - READING
==================
imap_uid
imap_msgno
imap_fetchbody
imap_fetchheader
imap_fetchstructure
imap_fetch_overview
imap_body
imap_rfc822_parse_adrlist
imap_rfc822_parse_headers
MESSAGES - WRITING
==================
imap_mail_compose
imap_mail
imap_append
imap_rfc822_write_address
MESSAGES - OPERATIONS
=====================
imap_undelete
imap_thread
imap_delete
imap_mail_copy
imap_mail_move
imap_expunge
imap_clearflag_full
imap_setflag_full
MESSAGES - DECODE/ENCODE
========================
imap_utf7_decode
imap_utf7_encode
imap_utf8
imap_8bit
imap_base64
imap_binary
imap_mime_header_decode
imap_qprint
FOLDERS
=======
imap_createmailbox
imap_deletemailbox
imap_getmailboxes
imap_mailboxmsginfo
imap_renamemailbox
imap_headers **(fairly useless)
imap_status
imap_sort
imap_search
imap_listscan
NNTP
====
imap_unsubscribe
imap_subscribe
imap_getsubscribed
Others
=============================
imap_num_msg - use imap_mailboxmsginfo()
imap_num_recent - use imap_mailboxmsginfo()
imap_header - alias of imap_headerinfo()
imap_scanmailbox - alias of imap_listscan()
imap_listsubscribed - alias of imap_lsub()
imap_listmailbox - alias of imap_list()
imap_lsub - use imap_getsubscribed()
imap_list - use imap_getmailboxes()
imap_bodystruct - not documented
imap_getacl - not documented
imap_setacl - not documented
imap_headerinfo - use imap_fetch_overview()
Anonymous
13-Apr-2005 12:13
13-Apr-2005 12:13
If you are having difficulty compiling on netbsd from source and want imap support then you should know that the c-client library is compiled with kerberos support. Unfortunately gssapi_krb5 and k5crypto is not on the system (or at least wasn't for me). I didn't have administrative level access to add these libraries so I had to do the following. I still have to test that it worked 100% but at least it compiled without complaining.
Comment the following segments from the configure script.
Segment 1 -- test for gssapi_krb5 library
case gssapi_krb5 in
c|c_r|pthread*) ;;
*)
if test "$ext_shared" = "yes"; then
IMAP_SHARED_LIBADD="$IMAP_SHARED_LIBADD -lgssapi_krb5"
else
case gssapi_krb5 in
c|c_r|pthread*) ;;
*)
LIBS="$LIBS -lgssapi_krb5"
;;
esac
fi
;;
esac
Segment 2 -- test for k5crypto
case k5crypto in
c|c_r|pthread*) ;;
*)
if test "$ext_shared" = "yes"; then
IMAP_SHARED_LIBADD="$IMAP_SHARED_LIBADD -lk5crypto"
else
case k5crypto in
c|c_r|pthread*) ;;
*)
LIBS="$LIBS -lk5crypto"
;;
esac
fi
;;
esac
BTW. Since I was only compiling for the modules (they have suPHP so I compile all my own modules when I need them) I only dropped this in for the php configure script parameters
./configure --with-imap=shared,xxxxxx --with-kerberos=xxxxxx --with-imap-ssl
This is verified working via an imap test. One excellent test that I located on the phpbuilder.com site. Here it is. Modify the address, port, protocol type, username, and password appropriately. The post was 5 years old but the script still works fine. The posters name was "Matthew"
<HTML>
<HEAD>
<TITLE>imap_check</TITLE>
</HEAD>
<BODY>
<?
//check for new messages
$mailbox = imap_open("{localhost/pop3:110}INBOX",
"#username#","#password#");
// Check messages
$check = imap_check($mailbox);
print("<PRE>");
print("Date most recent message : " . $check->Date);
print("<BR>");
print("Connection type : " . $check->Driver);
print("<BR>");
print("Name of the mailbox : " . $check->Mailbox);
print("<BR>");
print("Number of messages : " . $check->Nmsgs);
print("<BR>");
print("Number of recent messages : " . $check->Recent);
print("<BR>");
print("</PRE>");
// show headers for messages
$index=1;
$header = imap_header($mailbox, $index);
print("<PRE>");
print("Header Date : " . $header->Date . "<BR>");
print("Header To : " . $header->to) . "<BR>";
print("Header From : " . $header->From . "<BR>");
print("Header cc : " . $header->cc . "<BR>");
print("Header ReplyTo : " . $header->ReplyTo . "<BR>");
print("Header Subject : " . $header->Subject . "<BR></PRE>");
print("<PRE>");
print(imap_body($mailbox,$index));
print("</PRE><HR>");
imap_close($mailbox);
?>
</BODY></HTML>
seem dot iges at mail dot ee
15-Feb-2005 05:48
15-Feb-2005 05:48
If you like me disvoer that "make slx" fails, but you're damn sure you've openssl installed then, it might be that the lib and include paths on your distro are different then the defaults provided in the imap-2004a (or imap-XXXXx). To modify go to dir ../imap-2004a/src/osdep/unix and edit the section (shown below) in the Makefile
# Extended flags needed for SSL. You may need to modify.
#SSLDIR=/usr/local/ssl
SSLDIR=/etc/ssl
SSLCERTS=$(SSLDIR)/certs
SSLKEYS=$(SSLCERTS)
#SSLINCLUDE=$(SSLDIR)/include
SSLINCLUDE=/usr/include/openssl
#SSLLIB=$(SSLDIR)/lib
SSLLIB=/usr/lib
SSLCRYPTO=-lcrypto
Commented out SSLDIR, SSLINCLUDE and SSLIB are defaults and the uncommented are valid paths for Slackware (10.0/10.1).
You should also check your ld.so.conf for valid paths.
antivert
13-Jan-2005 08:55
13-Jan-2005 08:55
Note that is not not necessary to disable SSL in the IMAP compile to make it work with PHP 5.0.3.
1. Compile IMAP with SSL support for your system:
cd /path/to/imap/source/
make <system type> (ldb, lnx, etc)
mkdir include
mkdir lib
2. Make links in IMAP source directory:
cd /path/to/imap/source/c-client
cp *.h ../include/
cp *.c ../lib/
cp c-client.a ../lib/libc-client.a
3. Compile PHP with SSL support, --with-imap=/path/to/imap/source/ . If SSL support fails, you'll get a configure-time error that IMAP doesn't work. This is a lie, you just need to get SSL support working in PHP. On certain linux systems, with OpenSSL 0.9.7, this means adding --with-openssl=/usr (if the OpenSSL files are in /usr/include/openssl/) instead of the proper directory containing the OpenSSL files. For some reason, giving a parent directory makes PHP able to find the OpenSSL include files.
4. PHP should build.
Alternately, you can disable SSL during the IMAP build, as per the previous directions posted here.
amit dot gupta at prudence-india dot com
18-Nov-2004 12:44
18-Nov-2004 12:44
I faced problem in compiling imap with php-5.0.2 release version. Then following commands on snapshot version solved my problem
# tar -zxvf imap-2004b.DEV.tar.Z
# cd imap-2004b.DEV.SNAP-0411051435/
# make lnp SSLTYPE=none
# cp -r /usr/local/imap-2004b.DEV.SNAP-0411051435/c-client/*.h /usr/local/imap-2004b.DEV.SNAP-0411051435/include/
# cp -r /usr/local/imap-2004b.DEV.SNAP-0411051435/c-client/*.c /usr/local/imap-2004b.DEV.SNAP-0411051435/lib/
# ln -s /usr/local/imap-2004b.DEV.SNAP-0411051435/c-client/c-client.a /usr/local/imap-2004b.DEV.SNAP-0411051435/lib/libc-client.a
# tar -zxvf php5-STABLE-200411180530.tar.gz
# cd php5-STABLE-200411180530
./configure --with-apxs2=/usr/sbin/apxs --enable-shared --with-mod_charset --enable-force-cgi-redirect --enable-fastcgi --enable-magic-quotes --with-openssl --with-zlib --enable-bcmath --enable-calendar --with-curl --with-curlwrappers --enable-dba --with-gdbm --with-cdb --with-inifile --with-flatfile --enable-dbase --enable-dbx --enable-dio --with-fam --enable-filepro --enable-ftp --with-ldap --enable-mbstring --with-mysql=/usr/include --with-zlib-dir --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-pic --enable-versioning --with-pgsql --with-java=/usr/java/jdk1.5.0/ --with-imap=/usr/local/imap-2004b.DEV.SNAP-0411051435 --with-kerberos
# make
# make install
Thus, php compiled sucessufully with imap support on fedora core 1.
Pete Spicer, sleeping [at] myperch.org
17-Jul-2004 03:19
17-Jul-2004 03:19
I have a pretty much stock set-up of SuSE 8.1 Personal (Apache, PHP et al built by me) and IMAP-2004 refused to build for me.
What I found was, using the make lsu (for SuSE) almost worked built I was getting odd build results, i.e. make failures.
The problem? GCC 3.2. If you don't have an older GCC available, please install one! I installed the gcc_old package from SuSE and built with the following command:
CC=gcc297 make lsu SSLTYPE=none
The result was a perfect build. So if you are getting errors, please try an earlier build of GCC.
Tomas V.V.Cox
11-May-2004 06:15
11-May-2004 06:15
For compiling this extension without compiling imap from sources I did (this was mandrake):
Install the following rpms:
imap
imap-devel
openssl
openssl-devel
krb5
krb5-devel
pam
pam-devel
Do the trick:
# mkdir /usr/include/imap/lib
# cp /usr/lib/libc-client-PHP4.a /usr/include/imap/lib/libc-client.a
And the configure line:
./configure <options> --with-imap=/usr/include/imap --with-imap-ssl
(don't forget --enable-pear ;)