https://docs.iredmail.org/change.mail.attachment.size-zh_CN.html

修改 postfix 中邮件大小的设置

Postfix 是一个邮件传送代理(MTA),因此,要修改配置以使它能传送大附件的邮件。

假设要修改附件大小为 1G,100010241024=1048576000
需对 message_size_limitmailbox_size_limit 做如下修改:

# postconf -e message_size_limit='1048576000'  //注意配置文件中的mailbox_size_limit需要比message_size_limit大
# postconf -e mailbox_size_limit='1048576006'

之后重启 Postfix 服务,使上述修改生效:

 /etc/init.d/postfix restart

可以使用如下命令查看postfix的有关设定:

 /usr/sbin/postconf | grep size

修改 Roundcube 网页邮箱的附件上传大小

如果使用 Roundcube 网页邮箱,需要额外更改两个地方:

  • 修改 PHP 设置允许上传大附件

修改 PHP 配置文件 /etc/php/7.4/fpm/php.ini 中的 memory_limitupload_max_filesizepost_max_size 三个参数:

memory_limit = 256M;
upload_max_filesize = 1024M;
post_max_size = 1024M;
  • 修改 Roundcube 网页邮箱设置以允许上传大附件

修改 roundcube 目录下的 .htaccess 文件:

  • 在 Ubuntu 系统上,此文件路径为 /usr/share/apache2/roundcubemail/.htaccess ,
    Debian/opt/www/roundcubemail/.htaccess.

添加

php_value    memory_limit   1024M
php_value    upload_max_filesize    1024M
php_value    post_max_size  1024M

重启 Apache 或 php-fpm 服务以使上述修改生效。
注意:某些 Linux/BSD 发行版本可能没有 .htaccess 文件,此时你可以忽略此步骤。

限制 Nginx 上传文件大小

在配置文件 /etc/nginx/conf-enabled/client_max_body_size.conf 中找到参数 client_max_body_size ,按需要修改大小:

http {
    ...
    client_max_body_size 100m;
    ...
}

“以下来源高晓波个人博客” https://www.gaoxiaobo.com/xd/195.html

其他情况

至此已按照官方文档对邮件附件大小进行修改,不出意外的话这里会出现意外,发现roundcube web端还是提示”上传附件最大不超过 11 MB“,奇怪~

上传附件最大不超过 11 MB

猜测是roundcube还有其他地方对附件大小进行了设置,查看roundcube配置

vi /opt/www/roundcubemail/config/config.inc.php

全选代码,复制,发现有这么一个配置

$config['max_message_size'] = '15M';

全选代码,复制

将其改为100M测试一下,web端显示变成了75M,看来roundcube是取max_message_size的75%作为附件大小限制,那么我们想限定附件大小1024M,设为1366M即可。

如果觉得我的文章对你有用,请随意赞赏