CentOS邮件服务器邮件接收限制配置
邮件大小限制是防止服务器接收超大附件、避免资源滥用的基础配置,主要涉及两个参数:
message_size_limit = 15728640
(约15MB),可限制单封邮件不超过15MB。mailbox_size_limit = 10485760
(约10MB),可限制单个用户邮箱总大小不超过10MB。/etc/postfix/main.cf
,添加或修改上述参数,修改后执行postfix reload
使配置生效。通过限制可连接服务器的客户端范围,防止非法IP或未授权网络访问邮件服务器,常用参数包括:
permit_mynetworks
:允许mynetworks
参数定义的本地网络(如内网IP段)连接;reject_unauth_pipelining
:拒绝未授权的管道化命令(提升安全性);check_client_access hash:/etc/postfix/access
:通过访问表(access file)自定义客户端限制(如拒绝特定IP)。/etc/postfix/main.cf
中添加smtpd_client_restrictions = permit_mynetworks, reject_unauth_pipelining, check_client_access hash:/etc/postfix/access
,然后将需要拒绝的IP添加到/etc/postfix/access
(如192.168.1.100 REJECT
),执行postmap /etc/postfix/access
生成哈希数据库并重载Postfix。通过验证收件人地址的合法性,防止服务器接收发送给不存在用户的邮件(减少垃圾邮件和无效请求),关键参数为:
permit_mynetworks
:允许本地网络用户发送给任意收件人;permit_sasl_authenticated
:允许通过SMTP认证的用户发送给任意收件人;reject_unauth_destination
:拒绝发送给未授权域或不存在用户的邮件(必须配置,防止开放中继)。/etc/postfix/main.cf
中添加smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
,重载Postfix后生效。通过限制发送者的邮件发送频率,防止滥用服务器资源(如发送大量垃圾邮件),常用参数包括:
/etc/postfix/sender_login_maps
),要求发送者必须通过SMTP认证且账户匹配,避免未授权发送。smtpd_client_message_rate_limit = 100
,即每分钟最多100封)。smtpd_client_connection_rate_limit = 10
,即每秒最多10个连接)。/etc/postfix/main.cf
,添加上述参数并设置合理值,重载Postfix后生效。系统资源不足会导致邮件接收失败,需调整以下系统级限制:
/etc/security/limits.conf
,添加* soft nofile 10240
(软限制)和* hard nofile 10240
(硬限制),然后编辑/etc/pam.d/login
,添加session required pam_limits.so
,使限制生效。/var/mail
或Dovecot的mail_location
目录)有足够的可用空间,可通过df -h
命令检查,必要时清理旧邮件或扩容磁盘。