⽂/⽞魂
前⾔
在上篇⽂章()中,介绍了hMailServer的安装和简单配置。
除了邮件客户端之外,web邮件系统在很多时候还是必须的,⽐如修改密码,在移动端查看邮件等。
Roundcubemail是⼀个免费、开源的php开发的web mail 系统。本⽂介绍如何将Roundcubemail与hMailServer集成起来。
1.1 下载与安装
可以在选择合适的版本下载,也可以在GitHub()下载最新版。
下载之后,将压缩包解压到磁盘。
配置web服务器来承载站点,因为是php站点,⼀般会使⽤apathe或者nginx,我这⾥使⽤的是iis,配置过程就不做说明了。
站点配置好之后,访问站点installer⽬录下的index.php⽂件,进⼊安装界⾯。
安装界⾯第⼀步是检测环境是否符合要求,如果没有问题,点击“下⼀步”。
第⼆步是基本配置。
基本配置
“product_name”是邮件系统的展⽰名称,显⽰在⽹页的Title上,⾃⾏配置即可。
“support_url”,系统的技术⽀持页⾯,也可以填写mailto链接。
“skin_logo”,⾃定义企业logo,⽤以替代系统默认的logo。
“temp_dir”,临时⽂件的存放路径,必须保证有写权限。
“des_key“,加密密码的key。
“ip_check“,session校验时同时校验ip是否匹配,属于增强的安全特性,选择该选项,客户端如果ip地址变更,会导致⽤户突然退出。
“enable_spellcheck“,是否启⽤拼写检查。
“spellcheck_engine“,拼写检查引擎。
“identities_level“,定义⽤户权限。
“debug_level“,调试信息级别。
“log_driver“,⽇志记录⽅式。
“log_dir”,⽇志记录⽂件存储路径。
“syslog_id”,如果选择⽇志记录的⽅式为系统⽇志,该选项有效,为邮件系统的系统⽇志分配id。
“syslog_facility”,系统⽇志等级,如果选择⽇志记录的⽅式为系统⽇志,该选项有效。
数据库配置
接下来再数据库安装配置组中配置数据库类型,数据库服务器地址,数据库名称、⽤户名、密码。
IMAP SETTINGS
这⾥的配置可以参考hMailSer的参数。
“default_host”:默认登录域名。
“default_port”:默认端⼝,⼀般为143。
“username_domain”,邮件@符号后⾯的域名。
其他选项默认即可。
SMTP SETTINGS
smtp_server:smtp服务器地址。
smtp_port:填写hMailServer中的配置,默认为25.
smtp_user/smtp_pass:smtp验证的⽤户名密码,根据实现需要填写。
DISPLAY SETTINGS & USER PREFS
显⽰设置和⽤户使⽤相关设置部分。
“language”:设置语⾔。
“skin”,选择站点的⽪肤。
“mail_pagesize”:邮件列表页,每页显⽰的条⽬数。
“addressbook_pagesize”:地址簿每页的条⽬数。
“prefer_html”:是否显⽰html内容。
“preview_pane”:是否预览。
“htmleditor”:使⽤html编辑器的规则。
“draft_autosave”:设置⾃动保存规则。
Mime_param_folding,最好设置成如下图所⽰,否则可能会产⽣乱码。
配置完毕之后,点击“Create Config”。
下载⽣成的两个⽂件,拷贝到config⽂件夹下。
点击“continue”。
安装数据库
点击Initalize DataBase,初始化数据库。
测试成功之后,删除installer⽂件夹。
1.2 安装插件
Roundcubemail 以插件的形式⽀持扩展,本⾝⾃带了⼏⼗种插件在plugins⽬录下:
添加修改密码插件
现打开main.inc.php ⽂件,搜索“$rcmail_config['plugins']”,到:
// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array();
这⾥我想添加修改密码功能,修改代码如下:
// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array("password");
修改数据库连接串
进⼊“plugins\password”⽬录,复制⼀份config.inc.php.dist⽂件,修改为config.inc.php,搜索“$rcmail_config['password_db_dsn']”,修改为:
$rcmail_config['password_db_dsn'] = 'mysql://root:yourpassword@localhost/hmailserver';
参数说明:
@mysql:因为roundcube我⽤的mysql作为数据存储
@root:访问数据库的⽤户(需要具有可读写权限)
@youpassword:密码,即你访问数据库的⽤户密码;我的root⽤户密码为111111 故
为:$rcmail_config['password_db_dsn'] = 'mysql://root:111111@localhost/hmailserver';
@localhost:本地访问
mysql下载下来没安装包
@hmailserver:安装hmialserver时的数据库名称;默认的是hmail 我更名为hmailserver
功能:即链接hmailserver数据库
修改更新密码的SQL语句
搜索“$rcmail_config['password_query'] ”,到如下代码:
'SELECT update_passwd(%c, %u)'
修改为:
$rcmail_config['password_query'] = 'UPDATE hm_accounts
SET accountpassword=md5(%p),accountpwencryption = 2
WHERE accountaddress=%u
LIMIT 1';
这就是⼀条简单的update语句,只是密码采⽤了md5加密;accountpwencryption = 2 表⽰MD5加密算法;(不要写错了)%p表⽰传⼊的新密码
%u表⽰⽤户名
刷新页⾯,我们看到页⾯⾥有了密码模块,可以修改密码了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。