标签 iredmail 下的文章

在 iredmail 1.7.1 - roundcube 1.6.8 里安装 kolab_2fa 3.5.11 插件

环境和已下载的文件,请看上一篇。继续安装插件 kolab_2fa 。

步骤:

  1. cd /opt/www/roundcubemail/plugins/ # 转到 roundcube 插件目录
  2. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/kolab_2fa ./ # 复制 tasklist 插件文件
  3. cp kolab_2fa/config.inc.php.dist kolab_2fa/config.inc.php # 创建配置文件
  4. vi kolab_2fa/config.inc.php # 创建配置文件
  5. cd /opt/www/roundcubemail # 转到 roundcube 目录
  6. sudo -u www-data php /opt/www/composer.phar require "spomky-labs/otphp" "~10.0.3" # 安装 otphp
  7. sudo -u www-data php /opt/www/composer.phar require "endroid/qr-code" "~1.6.5" # 安装 qr-code
  8. sudo -u www-data php /opt/www/composer.phar require "enygma/yubikey" "~3.2" # 安装 yubikey
  9. vi /opt/www/roundcubemail/config/config.inc.php # 启用 kolab_2fa 插件

参考:https://git.kolab.org/diffusion/RPK/browse/master/plugins/kolab_2fa/

roundcube 前端添加 2fa 二次验证

roundcube 常规用户名和密码登录后,会再次要求 2fa 验证

在 iredmail 1.7.1 - roundcube 1.6.8 里安装 kolab_notes 3.5.5 插件 - 未成功配置 - 提示 required kolabformat module not found

环境和已下载的文件,请看上一篇。继续安装插件 kolab_notes 。

步骤:

  1. cd /opt/www/roundcubemail/plugins/ # 转到 roundcube 插件目录
  2. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/kolab_notes ./ # 复制 tasklist 插件文件
  3. vi /opt/www/roundcubemail/config/config.inc.php # 启用 tasklist 插件

结果:kolab_notes 未能成功使用,新建 笔记 时,roundcube 前端提示“保存时发生错误”,web 日志显示 roundcube: PHP Error: required kolabformat module not found (POST /mail/?_task=notes&_action=list) 。 原因很可能是 kolab_notes 的插件,当前没有为 caldav 做相应的配套适配(calendar 和 tasklist 有适配 caldav )。

新建 笔记 时,roundcube 前端提示“保存时发生错误”

web 日志显示 roundcube: <h7oub9sp> PHP Error: required kolabformat module

参考:https://git.kolab.org/diffusion/RPK/browse/master/plugins/kolab_notes/

在 iredmail 1.7.1 - roundcube 1.6.8 里安装 kolab tasklist 3.5.10 插件

环境和已下载的文件,请看上一篇。继续安装插件 kolab tasklist 。

步骤:

  1. cd /opt/www/roundcubemail/plugins/ # 转到 roundcube 插件目录
  2. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/tasklist ./ # 复制 tasklist 插件文件
  3. cp tasklist/config.inc.php.dist tasklist/config.inc.php # 创建配置文件 。请更改里边的 tasklist_driver 和 tasklist_caldav_server 的值。例如,设置为 caldav 的数据存储
  4. vi /opt/www/roundcubemail/config/config.inc.php # 启用 tasklist 插件

kolab 里的 tasklist 插件,新建 tasklist 项后,在 caldav 中是一个新的 calendar 项,但属性和内容不同。

roundcube 前端的 tasklist 插件内容

thunderbird 客户端里连接到 caldav 服务器读取到的 任务 内容

参考:

在 iredmail 1.7.1 - roundcube 1.6.8 里安装 kolab calendar 3.5.11

环境:

  • debian 12
  • iredmail 1.7.1 - roundcube 1.6.8 - kolab calendar 3.5.11

步骤:

  1. apt install git # 安装 git
  2. cd /opt/www && git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git # 转到 /opt/www 目录,并下载 kolab 的相关文件
  3. chown -R www-data:www-data roundcubemail-plugins-kolab/ # 给 www-data 用户权限
  4. cd /opt/www/roundcubemail/plugins/ # 转到 roundcube 插件目录
  5. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/calendar ./ # 复制 calendar 插件文件
  6. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/libcalendaring ./ # 复制 libcalendaring 插件文件
  7. cp -a /opt/www/roundcubemail-plugins-kolab/plugins/libkolab ./ # 复制 libkolab 插件文件
  8. cp calendar/config.inc.php.dist calendar/config.inc.php # 创建配置文件
  9. vi calendar/config.inc.php # 修改配置文件内容,如将 calendar_caldav_url 设置为有效的 caldav 服务器访问域名;设置 calendar_caldav_url 具体的 日历 URL 地址
  10. cd /opt/www/ # 转到 www 目录
  11. curl -s https://getcomposer.org/installer | php # 获取 composer
  12. cd /opt/www/roundcubemail # 转到 roundcube 目录
  13. sudo -u www-data bin/initdb.sh --dir=plugins/calendar/drivers/caldav/SQL && sudo -u www-data bin/initdb.sh --dir=plugins/libkolab/SQL # 初始化数据库
  14. apt install node-less # 安装 node-less 软件
  15. sudo -u www-data lessc --relative-urls -x plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css # 生成 css 文件
  16. apt install php-ldap # 安装 ldap 扩展
  17. sudo -u www-data php /opt/www/composer.phar require "sabre/vobject" "~4.5.1" # 安装 sabre/vobject
  18. sudo -u www-data php /opt/www/composer.phar require "pear/http_request2" "~2.5.0" # 安装 pear/http_request2
  19. vi config/config.inc.php # 编辑 roundcube 配置文件,在插件配置中,加上 calendar

问题:用 baikal 架设的 caldav 服务器,无法直接在 calendar 中使用。例如,保存不了事件,提示 Faild to save changs。 syslog 提示 PHP Error: DAV Error (405) 。未完成用户鉴权验证吗?
回答:请尝试在 baikal 里配置使用 IMAP 验证。

参考:

roundcube 用户端的 calendar 界面

roundcube 的“关于”页面信息显示内容

roundcube 日历 中的事件

thunderbird 雷鸟 客户端连接上 日历

iredmail 建设

问题1:邮件账号密码导出功能
答:可以使用 SQL 查询语句,从数据表中导出。导出的密码是加密后,人不可读出的。如下图:
SQL 导出邮件账号和密码

问题2:邮件账号密码导入功能
答:可以使用 Shell 脚本,从包含邮件账号和密码的 CSV 文件导入。

问题3:邮件收发日志功能
答:可以通过 SQL 语句,设置一个邮箱用户,以 BCC 密送的方式保留域名下用户的发信和来信副本。如下图:
monitor 邮箱设置

问题4:黑白名单过滤功能
答:可以通过 iRedAPD 服务来设置黑、白名单。如将 @gov.hk 的域名和子域名添加到白名单中。 python3 /opt/iredapd/tools/wblist_admin.py --add --whitelist @gov.hk @.gov.hk

问题5:管理隔离的邮件
答:标识为 spam 的邮件,用户可自主管理(如删除)。

问题6:反垃圾和防病毒
答:可配置,通过 spamhaus ,avmavis 来打分和扫毒。X-Virus-Scanned: Debian amavis at grml

问题7:收发件限制
答:可配置。如通过黑名单,将 receive-only@yoishi.top 禁止发出邮件。如下图:
禁止某个邮箱用户发出邮件

问题8:邮件账号查询功能
答:可通过 SQL 语句查询。如下图:
查询邮箱账号

问题9:附件大小10M
答:安装默认附件限制10MB,但可以登录到操作系统,手工往上调。如这里调整后,可以从webmail里发送出50MB的附件。如下图:
邮件的附件大小调整

问题10:时间跟电脑时间不同步
答:测试机(mail.yoishi.top)未调整 UTC 时间,所以可能“跑快”了八个小时。现已纠正,且收、发各一封邮件,时间显示正常。如下图:邮件的时间显示