热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql邮箱认证_实战部署MySQL用户认证的Postfix邮件系统(3)

七、Extmail的配置通过上面的设置我们已经完成了一个基本的邮件服务器系统,它能够发送、接收邮件,能够对用户进行身份验证等工作。用户可以使用Outlo

七、Extmail的配置

通过上面的设置我们已经完成了一个基本的邮件服务器系统,它能够发送、接收邮件,能够对用户进行身份验证等工作。用户可以使用Outlook、Foxmail之类的工具来发送和接收邮件。

对于用户临时查看一下邮件,他们就不需要将邮件下载到本机查看。这个时候我们可以为用户搭建一个Webmail吧。

基于我们已经完成的邮件服务器,我们只需要给用户提供一个基于浏览器访问的mail工具就可以了。这类工具有很多:OpenWebmail、Extmail等。

Extmail是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。

对于国内的电子邮件系统来说,无论是从系统功能、易用性还是中文化等方面,ExtMail平台都是一个相当不错的选择。Extmail套件可以提供给普通邮件用户使用,而Extman套件可以提供给邮件系统的管理员使用。更多关于Extmail的介绍请baidu之。

Extmail安装也比较简单先在/var/www先创建一个用于存放Extmail的目录extsuite,然后将下载回来的extmail解压到该目录下,并将解压后的目录修改为extmail。

InBlock.gif[root@mail ~]# mkdir /var/www/extsuite

InBlock.gif[root@mail ~]# tar -zxvf extmail-1.2.tar.gz -C /var/www/extsuite/

InBlock.gif[root@mail extsuite]# mv extmail-1.2/ extmail

接下来编辑配置文件,使其能够和Postfix邮件服务器结合起来提供服务,修改部分配置信息如下:InBlock.gif[root@mail extsuite]# cp extmail/webmail.cf.default extmail/webmail.cf

InBlock.gifSYS_USER_LANG = en_US                                #默认语言,修改为zh_CN

InBlock.gifSYS_USER_CHARSET = utf-8                            #Web界面默认的字符集,修改为gb2312

InBlock.gifSYS_MIN_PASS_LEN = 2                                 #最小的密码长度,修改为6

InBlock.gifSYS_MFILTER_ON = 1                                    #打开过滤器

InBlock.gifSYS_NETDISK_ON = 1                                   #打开网络硬盘

InBlock.gifSYS_AUTH_TYPE = mysql                              #使用MySQL数据库的认证方式

InBlock.gifSYS_MAILDIR_BASE = /home/domains           #邮箱的存储路径,修改为实际路径/var/spool/mail

InBlock.gif

InBlock.gifSYS_MYSQL_USER = db_user                          #访问MySQL数据库的用户名,改为postfix

InBlock.gifSYS_MYSQL_PASS = db_pass                         #使用的密码,改为postfix

InBlock.gifSYS_MYSQL_DB = extmail                             #访问的库,改为postfix

InBlock.gifSYS_MYSQL_HOST = localhost

InBlock.gifSYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock

InBlock.gif

InBlock.gifSYS_MYSQL_TABLE = mailbox

InBlock.gifSYS_MYSQL_ATTR_USERNAME = username

InBlock.gifSYS_MYSQL_ATTR_DOMAIN = domain

InBlock.gifSYS_MYSQL_ATTR_PASSWD = password

InBlock.gif#SYS_MYSQL_ATTR_CLEARPW = clearpwd         #修改密码相关行

InBlock.gifSYS_MYSQL_ATTR_QUOTA = quota

InBlock.gifSYS_MYSQL_ATTR_NDQUOTA = netdiskquota

InBlock.gifSYS_MYSQL_ATTR_HOME = homedir

InBlock.gifSYS_MYSQL_ATTR_MAILDIR = maildir

InBlock.gif

InBlock.gifSYS_G_ABOOK_TYPE = file                             #使用文件方式来保存全局通讯录

InBlock.gifSYS_G_ABOOK_FILE_PATH = /var/www/extsuite/extmail/globabook.cf

InBlock.gifSYS_G_ABOOK_FILE_LOCK = 1

InBlock.gifSYS_G_ABOOK_FILE_CONVERT = 0

InBlock.gifSYS_G_ABOOK_FILE_CHARSET = utf-8              #全局通讯录的字符集,改为gb2312在apache主配置文件中添加如下内容:InBlock.gif[root@mail ~]# vim /etc/httpd/conf/httpd.conf

InBlock.gif……

InBlock.gifNameVirtualHost 10.1.1.120:80

InBlock.gif

InBlock.gifServerName mail.xifeng.com

InBlock.gifServerAdmin admin@xifeng.com

InBlock.gifDocumentRoot /var/www/extsuite/extmail/html/

InBlock.gifScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

InBlock.gifAlias /extmail /var/www/extsuite/extmail/html

InBlock.gifAlias /postfixadmin /var/www/html/postfixadmin

InBlock.gifSuexecUserGroup postfix postfix

InBlock.gif

InBlock.gif

InBlock.gifOrder allow,deny

InBlock.gifAllow from all

InBlock.gif修改extsuite目录的用户和组的权限为postfix:InBlock.gif[root@mail ~]# chown -R postfix.postfix /var/www/extsuite/编辑完成后保存重启apache服务:

InBlock.gif[root@mail extsuite]# /etc/init.d/httpd restart

InBlock.gifStopping httpd:                                                                                        [    OK    ]

InBlock.gifStarting httpd:                                                                                        [    OK    ]安装Extmail所需的perl模块,如果你没有安装,通常使用web登录的过程中会有提示。InBlock.gif[root@mail ~]# rpm -ivh perl-Unix-Syslog-0.100-1.2.el5.rf.i386.rpm

InBlock.gifwarning: perl-Unix-Syslog-0.100-1.2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6

InBlock.gifPreparing...                 ########################################### [100%]

InBlock.gif1:perl-Unix-Syslog       ########################################### [100%]

InBlock.gif[root@mail ~]#八、客户端测试

b39ababc4a02a4eec3975637cb744217.png

输入邮件账户和密码点击“登录”后,如下图所示:

8fdb28086803245e53bedf37235801f4.png

在Windows下可以配置OE或formail等客户端程序:

b748268eab362f7062ab569fe5da9462.png

九、常见问题

报错1:

执行rpm –i postfix-2.3.3-2.src.rpm报error: cannot create %sourcedir /usr/src/redhat/SOURCES错误?

InBlock.gif[root@localhost postfix]# rpm -i postfix-2.3.3-2.src.rpm

InBlock.giferror: cannot create %sourcedir /usr/src/redhat/SOURCES

解决方法:由于没有安装rpm-build执行yum install rpm-build安装即可。

报错2:

执行rpmbuild -ba SPECS/postfix.spec报error: Failed build dependencies: pcre-devel is needed by postfix-2.3.3-2.i386错误?

InBlock.gif[root@localhost redhat]# rpmbuild -ba SPECS/postfix.spec

InBlock.giferror: Failed build dependencies:

InBlock.gif                pcre-devel is needed by postfix-2.3.3-2.i386

解决方法:由于rpmbuild编译过程中依赖的pcre-devel软件包没有安装,执行如下命令安装即可。

InBlock.gif[root@localhost redhat]# yum install pcre-devel

报错3:

在使用访问extmail过程中提示“Unix::Syslog not found, please install it first! (in cleanup) Undefined subroutine &Ext::Logger::do_closelog called at /var/www/extsuite/extmail/libs/Ext/Logger.pm line 86”

解决方法:下载perl-Unix-Syslog-这个rpm软件包安装即可。

报错4:在使用访问extmail,输入用户名和密码,选择登录后提示“Can't chdir to /var/spool/mail/xifeng.com/yujinlong/, Permission denied”

解决方法:(1)按照错误提示由于权限的原因,使用ll命令检查,发现postfix用户有权限InBlock.gif[root@mail ~]# ll /var/spool/mail/

InBlock.giftotal 8

InBlock.gif-rw-rw---- 1 rpc         mail             0 Jan 19 00:07 rpc

InBlock.gifdrwx------ 3 postfix postfix 4096 Jan 21 23:07 xifeng.com(2)使用ps –ef|grep httpd发现apache的程序运行用户是apache

InBlock.gif[root@mail ~]# ps -ef |grep httpd

InBlock.gifroot            1260    3676    0 07:55 pts/2        00:00:00 grep httpd

InBlock.gifroot         27239         1    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27241 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27242 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27243 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27244 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27245 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27246 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27247 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

InBlock.gifapache     27248 27239    0 Jan21 ?                00:00:00 /usr/sbin/httpd

所以,可以将apache的user和group修改为postfix,或者使用apache的suexec模块。

报错5:

在使用postfixadmin管理工具添加超级管理员的时候,提示“管理员名不是一个合法的邮件地址!”如下图所示:

89d93db8c9c8cf9d60e918b9fce0f5bf.png

解决方法:

在postfixadmin配置文件config.inc.php中找到$CONF['emailcheck_resolve_domain']='YES';行将YES修改为NO。



推荐阅读
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
橄榄村
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有