hMailServer集成web邮件系统(Roundcube Webmail)

文/玄魂

前言

在上篇文章(使用hMailServer搭建邮件服务器)中,介绍了hMailServer的安装和简单配置。

除了邮件客户端之外,web邮件系统在很多时候还是必须的,比如修改密码,在移动端查看邮件等。

Roundcubemail是一个免费、开源的php开发的web mail 系统。本文介绍如何将Roundcubemail与hMailServer集成起来。

1.1 下载与安装

可以在http://roundcube.net/download/选择合适的版本下载,也可以在GitHub(https://github.com/roundcube/roundcubemail)下载最新版。

下载之后,将压缩包解压到磁盘。

配置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:本地访问

@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表示用户名

刷新页面,我们看到页面里有了密码模块,可以修改密码了。

HMAILSERVER集成WEB邮件系统(ROUNDCUBE WEBMAIL)的更多相关文章

  1. Postfix 邮件服务 - roundcube webmail

      roundcubemail作为web端的邮件客户端.是一个基于浏览器,支持多国语言的IMAP客户端,它的操作界面看起像一个桌面应用程序.它提供一个email客户端应该具备的所有功能,包括MIME支 ...

  2. 调整iRedmail之Roundcube webmail服务不可不知的几件事

    iRedMail集成了roundcube webmail,极大的方便了安装维护工作,但是需求是千遍万化的,总有需要深入调整的地方.下面就是我调整roundcube时遇到的几点问题: 一.修改网页标题p ...

  3. ABP入门系列——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...

  4. idea/eclipse下Maven工程集成web服务(tomcat、jetty)

     idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html 应用服务器最常用的一般有这哥仨: ...

  5. Roundcube Webmail信息泄露漏洞(CVE-2015-5383)

    Preface Software: https://roundcube.net/Versions: 1.1.x<1.1.2(亲测1.1.5也有效)CVE: CVE-2015-5383Author ...

  6. Roundcube Webmail跨站脚本漏洞(CVE-2015-5381 )

    Preface Software: https://roundcube.net/Versions: 1.1.x<1.1.2CVE: CVE-2015-5381Author: sroesemann ...

  7. Roundcube Webmail File Disclosure Vulnerability(CVE-2017-16651)

    Preface Software: https://roundcube.net/ Versions: 1.1.0 - 1.1.9, 1.2.0 - 1.2.6, 1.3.0 - 1.3.2 CVE: ...

  8. ABP入门系列(17)——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...

  9. Shiro集成web环境[Springboot]-认证与授权

    Shiro集成web环境[Springboot]--认证与授权 在登录页面提交登陆数据后,发起请求也被ShiroFilter拦截,状态码为302 <form action="${pag ...

随机推荐

  1. Notepad++语言格式设置,自定义扩展名关联文件格式

    简单粗暴--直接上图

  2. 消息中间件及WebSphere MQ入门(转载)

    消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行前不需要等待 ...

  3. SQL Server 2008中的MERGE(不仅仅是合并)

    SQL Server 2008中的MERGE语句能做很多事情,它的功能是根据源表对目标表执行插入.更新或删除操作.最典型的应用就是进行两个表的同步. 下面通过一个简单示例来演示MERGE语句的使用方法 ...

  4. 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)

    环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...

  5. 20155312 2006-2007-2 《Java程序设计》第六周学习总结

    20155312 2006-2007-2 <Java程序设计>第六周学习总结 课堂笔记 学习进程 周一看视频-2h 周二以代码为中心看书-3h 课后选择题-5h 教材指导 应试 Linux ...

  6. MySQL参数优化:back_log

    * 修改back_log参数值:由默认的50修改为500.(每个连接256kb, 占用:125M) back_log=500 查看mysql 当前系统默认back_log值,命令: show vari ...

  7. linux下面/usr/local和opt目录有何区别

    /usr/local下一般是你安装软件的目录,这个目录就相当于在windows下的programefiles这个目录 .很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?答 ...

  8. Keras框架下使用CNN进行CIFAR-10的识别测试

    有手册,然后代码不知道看一下:https://keras-cn.readthedocs.io/en/latest/ 首先是下载数据集,下载太慢了就从网盘上下载: 链接:https://pan.baid ...

  9. sqlserver的substring详细用法

    SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现: select sub ...

  10. lepus部署

    lepus部署 lepus安装 cd /usr/local/src/lepus_v3.7/ cd python/ sh install.sh mysql配置 mysql -uroot -p'zaBBi ...