更改 Postfix 中的最大邮件大小

更改 Postfix 中的最大邮件大小

当向运行 Postfix 作为 MTA 的新 CentOS6 服务器发送大邮件时,返回以下消息:

tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 552 552 5.3.4 Error: message file too big (state 18)

我发现以下内容建议,但不清楚需要在main.cf文件中的什么位置添加:

这是由 Postfix 引起的,它不仅限制消息,还限制邮箱大小。

我必须添加此设置/etc/postfix/main.cf

message_size_limit = 31457280

如何增加 Postfix 的最大邮件大小(包括附件)?

答案1

将它添加到 main.cf 中的任何位置,它无关紧要 :) 但最好将指令以某种逻辑方式分组,这样更容易维护

根据官方的 postfix 文档:
message_size_limit (default: 10240000)消息的最大大小(以字节为单位),包括信封信息。注意:进行更改时要小心。当退回邮件大小超过本地或远程 MTA 的邮件大小限制时,过小的值将导致未送达通知丢失。

此外,默认邮箱大小为 50M 可能会导致邮件无法投递,尤其是在增加允许的邮件大小之后。要增加每个用户邮箱的最大大小,请添加mailbox_size_limit = <size in bytes>到 main.cf。

此外,作为伊恩·斯帕克斯评论说,如果您使用虚拟邮箱配置,则可能需要设置virtual_mailbox_limit = <size_in_bytes>

答案2

是的,你是对的:消息大小限制是您需要的配置指令。将其放在主配置文件文件并重新加载(或重新启动)Postfix。

您可以使用后置配置工具检查当前配置的值:

postconf message_size_limit

答案3

当心如果将此限制设置为较高的数字。您需要至少 1.5 倍于 Postfix 队列所在分区的可用空间大小message_size_limit。如果您没有该可用空间,那么全部即使邮件只有几千字节,也会被拒绝。如果您收到一条这种大小的邮件,然后空间超出(在最终邮箱投递期间),所有后续邮件都将被拒绝。由于缺少空间。

另请注意:电子邮件不是文件传输协议。请参阅此 QA:为什么我们仍然有这么小的电子邮件附件文件大小限制?

答案4

对于任何想要使用最新版本的 postfix(3+) 来寻找答案的人,您应将其定义message_size_limit为至少比要发送的实际消息高 1.5 倍的数字。此外,此限制应小于mailbox_size_limit

例如如果您希望客户端/程序能够发送至少 30 MB 大小的邮件,则必须设置message_size_limit = 4718592045 MB,考虑大约 1.5 倍的大小增加(因为消息以 mime 编码传输,因此大小会增加一些),即 30 * 1.5 =45 MB(47185920 字节)。

注意:线提到了 mime 编码消息扩展所需的数学运算是 1.37 倍。为了安全起见,我们可以将其视为 1.5 倍。

相关内容