标签 iredmail 下的文章

在 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 时间,所以可能“跑快”了八个小时。现已纠正,且收、发各一封邮件,时间显示正常。如下图:邮件的时间显示

iredmail - 通过 curl 来增加域名

需求:从一个含用域名列表的文本文件中逐行读取,通过 curl 提交给 iredadmin

尝试:

##
# Configurations.
##

rm tmpcs.txt
rm cookie

# Path to temporary file which will store your cookie data.
cookie_path=cookie

username=postmaster@anqun.org
password=ps88888888
login_url="https://mail.anqun.org/iredadmin/login"
create_url="https://mail.anqun.org/iredadmin/create/domain"
# action_url="$create_url/$domainname"

##
# Logic. Most likely you shouldn't change here anything.
##

curl -i -b $cookie_path -c $cookie_path -d "username=$username&password=$password" "$login_url"

curl -i -b $cookie_path -c $cookie_path -o tmpcs.txt --request GET "$create_url"

csrf_token=$(grep -oP '(?<=<input type="hidden" name="csrf_token" value=")[^"]*' tmpcs.txt)


while read -r line; do
   # 使用该行内容作为变量值来执行 cURL 命令
   data="csrf_token=$csrf_token&domainName=$line&cn=&submit_add_domain=Add"
   curl -i --cookie cookie --data "${data}" "$create_url"
done < domain.txt

roundcube - 收件箱列表为空 - the list is empty - imap - vsz_limit 256 MB

现象:某个邮箱用户登录到 roundcube webmail,收件箱列表是空的。原先的邮件数约有十万封。

实践:查看 dovecot 的 imap.log ,出现类似 (Out of memory (service imap { vsz_limit=256 MB }, you may need to increase it)) 的字样。按网上的例子,在 /etc/dovecot/dovecot.conf 添加如下内容后,重启 dovecot 服务即可。

service imap {
  vsz_limit = 1024MB
}

参考:https://forum.iredmail.org/topic11051-increasing-vszlimit.html

在 FreeBSD 13.2 里尝试安装 iRedMail 1.6.8 - 放弃

原因:看到 iRedMail 群里有人说在 FreeBSD 13.2 里安装出错,提示如:

lsof-4.99.3_1,8 requires kernel sources.
error code 1
stop.
make stopped in /usr/ports/sysutils/lsof
error code 1
stop
make stooped to /usr/ports/devel/py-Jinjia2
error failed to downloading package, please fix it manually and then relaunch iRedMail installer.

我在一台国外的机子,配置是 Atom C2750, 8GB 内存里测试 iRedMail 的安装。遇到同样的报错信息。虽然可以手工下载 ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/13.2-RELEASE/src.txz 后继续安装,但通过 ports 编译软件,所需的时间太长了。过了约24小时,还没完成,当前界面信息停留在:

l' -Cprefer-dynamic -Z binary-dep-depinfo -L native=/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage0-rustc/x86_64-unknown-freebsd/release/build/psm-d1aad399e5dbb6f5/out -L native=/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage0-rustc/x86_64-unknown-freebsd/release/build/rustc_llvm-938455d976a8c95f/out -L native=/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/lib`
    Building [=======================> ] 316/323: rustc_driver_impl

但我不想等待结果,放弃了。

-- Build files have been written to: /usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/lld/build
running: cd "/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/lld/build" && DESTDIR="" "cmake" "--build" "." "--target" "install" "--config" "Release" "--" "-j" "1"
[  1% 3/127] Building CXX object Common/CMakeFiles/lldCommon.dir/CommonLinkerContext.cpp.o^C
ninja: build stopped: interrupted by user.

Build completed unsuccessfully in 14:46:49
*** Error code 1
*** Signal 2

参考: