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/
没有评论