标签 iredmail 下的文章

iredmail - 手动删除用户的默认目录 - 批量删除邮件

需求:邮件塞满了磁盘的inodes。无需备份,直接强制删除所有用户的邮件。

尝试:

#!/bin/bash

# 先停止postfix
/usr/bin/systemctl stop postfix

# 导出用户名单到文件
doveadm user *@* > /run/mailtmp.txt
# 从文件每行读取用户名,再根据用户名得到用户默认存储目录,如 /var/vmail/vmail1/example.com/z/z/9/zz9976-2023.04.19.20.47.38/ ,最后删除相应的目录
cat /run/mailtmp.txt | while read LINE; do
    su -s /bin/bash vmail -c "rm -rf `doveadm user -f home $LINE`"
done

/usr/bin/systemctl start postfix

参考:

iRedMail - queue file size limit exceeded - message_size_limit

问题:iRedMail 的邮局用户,收取不到 netflix 的邮件。日志显示 queue file size limit exceeded 。

尝试:注释 /etc/postfix/main.cf 里的一行 message_size_limit =8640 。原因可能是 iRedMail 的邮件大小默认值过小。注释掉后,posfix的默认值是 10240000 (10MB)。

参考:

发自139.com的邮件,不能在电信内网的邮局中收到 - iredmail

环境:电信的线路,在内网的一台机子上安装了 iredmail 邮局
问题:邮局与腾讯的收发邮件,正常。但发自139.com的邮件,不能收到
现象:邮局中的日志有如下字样:

Aug  5 21:57:29 mail postfix/smtpd[22485]: connect from n169-113.mail.139.com[120.232.169.113]
Aug  5 21:57:29 mail postfix/smtpd[22485]: Anonymous TLS connection established from n169-113.mail.139.com[120.232.169.113]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Aug  5 21:57:29 mail postfix/smtpd[22485]: 4LznGd6ykCz9w4l: client=n169-113.mail.139.com[120.232.169.113]
Aug  5 21:59:27 mail postfix/anvil[21946]: statistics: max connection rate 1/60s for (smtpd:120.232.169.113) at Aug  5 21:49:27
Aug  5 21:59:27 mail postfix/anvil[21946]: statistics: max connection count 1 for (smtpd:120.232.169.113) at Aug  5 21:49:27
Aug  5 21:59:27 mail postfix/anvil[21946]: statistics: max cache size 1 at Aug  5 21:49:27
Aug  5 22:00:45 mail clamd[1737]: SelfCheck: Database status OK.
Aug  5 22:02:30 mail postfix/smtpd[22485]: timeout after DATA (0 bytes) from n169-113.mail.139.com[120.232.169.113]
Aug  5 22:02:30 mail postfix/smtpd[22485]: disconnect from n169-113.mail.139.com[120.232.169.113]

尝试:看起来,自建邮局能与139.com邮局的IP互访,但为什么自建邮局不能成功收信呢?

依照网上的帖子,这可能是因为内网的机子拨号后,以太网的默认的mtu 1500值显得大,需要调小以适合传送。

[root@mail ~]# ping -M do -s 1430 n169-113.mail.139.com
PING n169-113.mail.139.com (120.232.169.113) 1430(1458) bytes of data.
ping: local error: Message too long, mtu=1400
ping: local error: Message too long, mtu=1400
ping: local error: Message too long, mtu=1400

果然,将mtu调小到1400后,自建的邮局就可以成功从139.com收到邮件了。

参考:

在 iredmail 里批量添加邮箱用户

环境:debian11,iredmail-1.5.1。例子,创建user5@anqun.orguser6@anqun.org两个邮箱用户。

步骤:

  1. cd iRedMail-1.5.1/tools # 转到 iRedmail 安装目录中的tools子目录
  2. bash create_mail_user_SQL.sh user5@anqun.org 'mima881' >> user.sql
    bash create_mail_user_SQL.sh user6@anqun.org 'mima882' >> user.sql # 生成一个包含sql语句的文件。sql语句是创建user5和user6两个用户,且设置密码
  3. mysql -u root vmail < user.sql # 将此文件导入到vmail数据库中

参考:https://docs.iredmail.org/sql.create.mail.user.html

在 iredmail 里设置一个可以代收不存在用户邮件的邮箱 - catch-all

环境:debian11,iredmail-1.5.1。例子,将@anqun.org域中,不存在的用户邮件发到存在的admin@anqun.org 收件箱。

步骤:

  1. echo 'INSERT INTO forwardings (address, forwarding, domain, dest_domain) VALUES ('anqun.org', 'admin@anqun.org', 'anqun.org', 'anqun.org');' > catch.sql # 生成一个包含sql语句的文件
  2. mysql -u root vmail < catch.sql # 将此文件导入到vmail数据库中

参考:https://docs.iredmail.org/sql.create.catch-all.html