When your CentOS 6 server running Postfix rejects large emails with the error 552 5.3.4 Error: message file too big
, it's hitting the default message size limitation. This restriction exists both for incoming and outgoing messages in Postfix's default configuration.
Postfix uses two main parameters to control message sizes:
message_size_limit = 10240000 # Default 10MB limit
mailbox_size_limit = 0 # 0 means unlimited
For modern email requirements with large attachments, I recommend these settings in /etc/postfix/main.cf
:
# Set message size limit to 25MB (can be adjusted higher)
message_size_limit = 26214400
# Optional: Set mailbox limit if needed
mailbox_size_limit = 268435456 # 256MB
After modifying main.cf
, always:
postfix check
service postfix reload
Test the new limits with:
postconf -d | grep size_limit
- Ensure matching limits in any front-end webmail interfaces
- Check available disk space on your mail server
- Consider client timeout settings for large transfers
If changes don't take effect:
- Verify syntax in
main.cf
(no trailing whitespace) - Check for overrides in
master.cf
- Restart Postfix completely if reload doesn't work
When your Postfix server returns the error 552 5.3.4 Error: message file too big
, it means the incoming email exceeds the default message size limit. This typically happens when:
- Sending emails with large attachments
- Forwarding messages that exceed the size threshold
- Receiving newsletters or automated reports
The main configuration file for Postfix is typically found at:
/etc/postfix/main.cf
For some installations, you might also need to check:
/etc/postfix/master.cf
To increase the maximum allowed message size (including attachments), add or modify the following line in your main.cf
:
message_size_limit = 31457280
This sets the limit to approximately 30MB (30 * 1024 * 1024 bytes). For different sizes:
# 50MB limit
message_size_limit = 52428800
# 100MB limit
message_size_limit = 104857600
For complete email size management, consider these parameters:
mailbox_size_limit = 0 # No limit on mailbox size
header_size_limit = 102400 # 100KB for headers
virtual_mailbox_limit = 0 # No limit for virtual mailboxes
After modifying the configuration:
# Check configuration syntax
postfix check
# Reload Postfix
postfix reload
# Or restart completely (on some systems)
systemctl restart postfix
If changes don't take effect:
- Check for overriding values in other included files
- Verify proper file permissions (should be readable by postfix user)
- Look for errors in
/var/log/maillog
Remember that other MTAs in the delivery path might have their own size limitations.