|
|
XLIII. IMAP, POP3 and NNTP Functions
These functions are not limited to the IMAP protocol,
despite their name. The underlying c-client library also supports
NNTP, POP3 and local mailbox access
methods.
This extension requires the c-client library to be installed.
Grab the latest version from
and compile it.
It's important that you do not copy the IMAP source files directly into
the system include directory as there may be conflicts. Instead, create
a new directory inside the system include directory, such as
/usr/local/imap-2000b/ (location and name
depend on your setup and IMAP version), and inside this new
directory create additional directories named lib/
and include/. From the c-client
directory from your IMAP source tree, copy all the *.h
files into include/ and all the
*.c files into lib/.
Additionally when you compiled IMAP, a file named
c-client.a was created. Also put this in the
lib/ directory but rename it as
libc-client.a.
Pozn�mka:
To build the c-client library with SSL or/and Kerberos support read
the docs supplied with the package.
To get these functions to work, you have to compile PHP with
--with-imap[=DIR], where DIR is the
c-client install prefix. From our example above, you would use
--with-imap=/usr/local/imap-2000b. This location
depends on where you created this directory according to the
description above. Windows users may include the
php_imap.dll DLL in php.ini
Pozn�mka:
Depending how the c-client was configured, you might also need to add
--with-imap-ssl=/path/to/openssl/
and/or --with-kerberos=/path/to/kerberos
into the PHP configure line.
Varov�n� | Roz���en� IMAP nem��e b�t pou��v�no z�rove� s
roz���en�m recode nebo YAZ. Je to kv�li faktu, �e tato roz���en�
sd�lej� stejn� intern� symbol. |
Toto roz���en� nem� definov�no ��dn� konfigura�n�
direktivy.
Tyto konstanty jsou definov�ny t�mto roz���en�m a budou k dispozici pouze
tehdy, bylo-li roz���en� zkompilov�no spole�n� s PHP nebo dynamicky zavedeno
za b�hu.
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:
: Simple Mail
Transfer Protocol (SMTP).
: Standard for
ARPA internet text messages.
: Internet
Message Access Protocol (IMAP) Version 4rev1.
: Post
Office Protocol Version 3 (POP3).
: Network News
Transfer Protocol (NNTP).
: Common
Internet Message Headers.
, , , & : Multipurpose
Internet Mail Extensions (MIME).
A detailed overview is also available in the books
by David Wood and by Dianna Mullet & Kevin Mullet.
add a note
User Contributed Notes
IMAP, POP3 and NNTP Functions
Pete Spicer, sleeping [at] myperch.org
17-Jul-2004 10: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 01: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 ;)
sysadmin at grmtech dot com
27-Mar-2004 12:01
The manual mentions:
"From the c-client directory from your IMAP source tree, copy all the *.h files into include/ and all the *.c files into lib/. Additionally when you compiled IMAP, a file named c-client.a was created. Also put this in the lib/ directory but rename it as libc-client.a.
"
A. Please do not copy rather make symbolic links like this:
ln -s c-client include
ln -s c-client lib
B. You do not need to copy c-client.a to libc-client.a.
The make command used to compile the imap-2002e source code creates the symbolic link from c-client.a to libc-client.a
The imap client version used for the above two points is:
1. imap-2002e
my 2 cents,
sysadmin
peder at godvik dot no
09-Mar-2004 04:24
Additionally to Mauricio's procedure; You must check the Makefile to find the correct system type that you are compiling on. Mauricio's example assumes you are using Linux. -Check the README for imap-xxxx for further details.
Fjor
15-Feb-2004 01:50
Additionally to Mauricio's procedure, I had to make a symlink to the c-client library this way:
cd imap-xxxx/c-client
ln -s c-client.a libc-client.a
(Tested with imap-200e)
Fjor (GDL/Mexico)
dev at puertocity dot com
26-Nov-2003 04:38
A tip for imap support installation:
With SSL support:
------------------
tar -zxf imap-xxxxx.tar.Z
cd imap-xxxxx
make slx
ln -sf c-client include
ln -sf c-client lib
cd ..
tar -jxf php-4.3.x.tar.bz2
cd php-4.3.x
./configure --with-imap=../imap-xxxxx --with-imap-ssl=/path-to-openssl
With out SSL support:
---------------------
tar -zxf imap-xxxxx.tar.Z
cd imap-xxxxx
make slx SSLTYPE=none
ln -sf c-client include
ln -sf c-client lib
cd ..
tar -jxf php-4.3.x.tar.bz2
cd php-4.3.x
./configure --with-imap=../imap-xxxxx
Good Luck
Mauricio
millz at incogen dot com
10-Oct-2003 11:19
I experienced a problem when adding IMAP support into PHP. The php configure script would die when trying to see if "IMAP Works..." and the config.log would complain about libc-client.a references.
It was similar to the problem reported here:
I resolved it by compiling IMAP like this (replace <ARCH> with the proper OS type for your system, get that from the top of the Makefile):
make <ARCH> SSLTYPE=none
That turned off the SSL support in the IMAP files and seemed to resolve my php compile problem.
BTW, I also followed the directions about making a new /usr/local/imap... directory that are mentioned at the top of the page.
k3nny at squidart dot co dot za
01-Aug-2003 12:02
After having numerous problems compiling PHP with IMAP support, both PHP problems and IMAP problems I found this simple solution to the problem, which I've tried with several versions of IMAP and all worked perfectly!
tar -zxf imap-xxxxx.tar.Z
cd imap-xxxxx
make slx
ln -sf c-client include
ln -sf c-client lib
cd ..
tar -jxf php-4.3.x.tar.bz2
cd php-4.3.x
./configure --with-imap=../imap-xxxxx
It worked everytime for me, hope it does for you!
Kenneth
designer at bs-dee dot org
09-Mar-2003 12:27
The only c-client that has worked 100% with php is
DO NOT DOWNLOAD 2002 B its BUGGY!
keeper at odi dot com dot br
01-Mar-2003 08:37
For those working with mail talke a look ate the pear class
Mime decode:
Dotrinador
naveed at php dot net
12-Jan-2003 03:49
Beware!
If you are trying to make a connection with POP3 mailbox,then some of IMAP functions will not work correctly as you might expecting .This is because the difference of workings in POP3 and IMAP protocols.
These functions work correctly for IMAP mailboxes but some of the fnctions will return nothing, when connected to a POP3 mailbox.(even no error message).
duckel at electroporn dot de
22-May-2002 06:16
please don't copy the .h files in the system include directory! the unix.h file from the washington.edu c-client conflicts with another file called unix.h
make a dir called "imap" in either /usr/include or /usr/local/include or whatever you wish, copy the header files there and the .a file prefix'ish in /usr/lib or /usr/local/lib or whatever you used for the include files.
then tell configure with --with-imap=/usr the "prefix" of your installation.
then works without problem ;)
netshadow at madpoets dot org
03-Nov-2001 09:42
I just found something a bit bizarre. I was having problems with the pages taking too long to load (15-20sec) when they opened an imap connection. I was pulling my hair out trying to figure out what was wrong.
Turns out it was quite simple. I was letting it default to 143 for the port. When i specified the port number (i.e. {localhost:143} rather than {localhost} ) It reduced page load time to a few seconds.
raoul at runtheotherway dot com
22-Oct-2001 02:11
I have found the order in which you connect to you POP server with IMAP 2000 and your database with PostgreSQL 7.1.2 can cause problems.
Make sure that you connect first to your POP server then get your db connection. This will prevent you from getting an invalid stream from imap_open().
| |