• HMAILSERVER集成WEB邮件系统(ROUNDCUBE WEBMAIL)


    hMailServer集成web邮件系统(Roundcube Webmail

    /玄魂

    前言

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

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

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

    1.1 下载与安装

    可以在http://roundcube.net/download/选择合适的版本下载,也可以在GitHubhttps://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_passsmtp验证的用户名密码,根据实现需要填写。

    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");

    修改数据库连接串

    进入“pluginspassword”目录,复制一份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表示用户名

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

     

  • 相关阅读:
    转自苦大师:移动测试Appium之API手册
    怨念与发飙
    Asp.Net 2.0新特性
    汉字是最优美的文字
    加入cnblog留念
    Thrift之TProtocol类体系原理及源码详细解析之其他协议类和总结
    Thrift之TProtocol类体系原理及源码详细解析之二进制协议类TBinaryProtocolT(TBinaryProtocol)
    linux内核bug问题排查过程详细报告
    Thrift之TProtocol类体系原理及源码详细解析之紧凑协议类TCompactProtocolT(TCompactProtocol)
    Thrift之TProcess类体系原理及源码详细解析
  • 原文地址:https://www.cnblogs.com/xuanhun/p/3605756.html
Copyright © 2020-2023  润新知