如何编译安装PHP的imap模块?

PHP

1 基础知识

1.1 IMAP

1.1.1 IMAP的简介

– 现称因特网邮件访问协议(Internet Mail Access Protocol)
– 前称交互邮件访问协议(Interactive Mail Access Protocol)
– 协议有斯坦福大学于1986年开发
– 此协议符合RFC3501的定义
– 此协议工作于TCP/IP协议之上(使用143端口)

1.1.2 IMAP的作用

– 邮件客户端使用此协议从邮件服务器上获取邮件信息

1.1.3 IMAP的特点

– 无需下载所有的邮件即可操作邮件
– 通过浏览邮件的头部即可确定是否收取、删除和检索邮件的特定部分
– 支持在服务器上创建或更改文件夹或邮箱
– 支持联机操作和断连接操作

1.1.4 IMAP的适用场景

– 适合于不同计算机或终端同时操作
– 适合使用多邮箱的用户

1.2 c-client library

– 此库又名libc-client-devel(适合CentOS或RHEL)
– 此库由华盛顿大学开发
– 用于构建电子邮件客户端和服务器API(应用程序编程接口)
– 此库支持IMAP、POP3、SMTP和NNTP协议
– 此库支持Unix和Windows的本地邮箱访问

2 最佳实践

2.1 系统环境

OS = CentOS 7.x x86_64
IP Address = Any
Host Name = Any

2.2 软件环境

本章假设你已经部署Apache+PHP的环境,如果你尚未部署请按照如下链接部署,
https://www.cmdschool.org/archives/3208

2.3 准备工作

2.3.1 下载c-client library

cd ~
wget http://ftp.ntua.gr/pub/net/mail/imap/imap-2007f.tar.gz

2.3.2 解压安装包

cd ~
tar -xf imap-2007f.tar.gz

2.4 安装c-client library

2.4.1 编译c-client library

cd ~/imap-2007f
make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd EXTRACFLAGS=-fPIC IP=4

另外,如果收到如下错误提示,

osdep.c:89:31: fatal error: security/pam_appl.h: No such file or directory
 #include 

你需要安装如下开发库后再继续编译安装,

yum install -y pam-devel

2.4.2 部署c-client library

mkdir -p /usr/local/imap-2007f/include/
mkdir -p /usr/local/imap-2007f/lib/
cp c-client/*.h /usr/local/imap-2007f/include/
cp c-client/*.c /usr/local/imap-2007f/lib/
cp c-client/c-client.a /usr/local/imap-2007f/lib/libc-client.a

2.5 安装PHP的imap模块

2.5.1 预编译imap模块

cd ~/php-7.2.11/ext/imap/
phpize
./configure --with-imap=/usr/local/imap-2007f/ --with-php-config=/usr/sbin/php-config --with-imap-ssl=/usr/

另外,如果收到如下错误提示,

configure: error: Cannot find OpenSSL's libraries

你需要安装如下开发库后再继续编译安装,

yum install -y openssl-devel
ln -s /usr/lib64/libssl.so /usr/lib/

2.5.2 编译imap模块

make
make install

2.6 加载imap模块

2.6.1 动态加载模块

vim /etc/php.ini

加入如下配置:

extension=imap.so

2.6.2 重启服务是配置生效

systemctl reload httpd

参阅文档
===================
IMAP的简介:
————
https://baike.baidu.com/item/imap/350154?fr=aladdin

c-client library的官方主页:
—————————
http://www.washington.edu/imap/

c-client library的下载地址
——–
http://ftp.ntua.gr/pub/net/mail/imap/

安装方法
———
http://blog.51cto.com/msiyuetian/1896805

没有评论

发表评论

PHP
如何编译安装PHP-FPM?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …

PHP
如何编译安装Apache+PHP8.1.1?

1 前言 笔者平素不喜欢简单的编译安装,因为很多系统管理员为了省事,编译安装的东西没有rpm包安装那 …

Apache
如何编译安装Apache+PHP7.4.3?

1 前言 笔者平素不喜欢简单的编译安装,因为很多系统管理员为了省事,编译安装的东西没有rpm包安装那 …