Postfix當
當postconf -n
時警告未定義參數:mua_sender_restrictions
我的系統是 centos 7。我正在根據這篇文章設置帶有 postfix、dovecot、mariadb 的郵件伺服器。
我的郵件伺服器有問題,可以發送郵件但不能接收郵件。
然後我
postconf -n
,結果如下:[root@server6328 log]# postconf -n postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 disable_vrfy_command = yes dovecot_destination_recipient_limit = 1 html_directory = no inet_interfaces = all inet_protocols = ipv4 mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man message_size_limit = 30720000 milter_default_action = accept milter_protocol = 6 mydestination = $myhostname,localhost.$mydomain,localhost,localhost.localdomain myhostname = mail.mydomain.com mynetworks = 127.0.0.1 newaliases_path = /usr/bin/newaliases.postfix non_smtpd_milters = $smtpd_milters proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES sample_directory = /usr/share/doc/postfix-2.10.1/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop show_user_unknown_table_name = no smtp_tls_security_level = may smtpd_helo_required = yes smtpd_helo_restrictions = reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,reject_unknown_helo_hostname smtpd_milters = inet:127.0.0.1:8891 smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_policy_service unix:private/policy-spf,reject_invalid_hostname,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sender_restrictions = reject_non_fqdn_sender,reject_unknown_sender_domain,reject_rbl_client zen.spamhaus.org smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/pki/dovecot/certs/fullchain.cer smtpd_tls_key_file = /etc/pki/dovecot/private/*.mydomain.com.key smtpd_tls_loglevel = 0 smtpd_tls_security_level = may smtpd_use_tls = yes unknown_local_recipient_reject_code = 550 virtual_alias_domains = virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf virtual_gid_maps = static:1000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_limit = 209715200 virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_transport = dovecot virtual_uid_maps = static:1000 postconf: warning: /etc/postfix/main.cf: unused parameter: policy_time_limit=3600s postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message=Sorry, the maildir has overdrawn diskspace quota postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: policy-spf_time_limit=3600
我注意到一些警告:
postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_sender_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_client_restrictions postconf: warning: /etc/postfix/master.cf: undefined parameter: mua_helo_restrictions postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps postconf: warning: /etc/postfix/main.cf: unused parameter: policy_time_limit=3600s postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message=Sorry, the maildir has overdrawn diskspace quota postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: policy-spf_time_limit=3600
的有效部分
/etc/postfix/master.cf
是:smtp inet n - n - - smtpd #smtp inet n - n - 1 postscreen #smtpd pass - - n - - smtpd #dnsblog unix - - n - 0 dnsblog #tlsproxy unix - - n - 0 tlsproxy submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=$mua_client_restrictions -o smtpd_helo_restrictions=$mua_helo_restrictions -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=$mua_client_restrictions -o smtpd_helo_restrictions=$mua_helo_restrictions -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING #628 inet n - n - - qmqpd pickup unix n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - n 1000? 1 tlsmgr dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient} policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/libexec/postfix/policyd-spf
這些警告的可能原因是什麼?如何解決?
**你的
main.cf
和master.cf
配置不匹配。**這很可能是由於複製了原本應該放在一起但缺少一側的配置範例。
- 當您在 master.cf 中更改 policyd-spf 的設置時,您呼叫了您的服務
policyd-spf unix - n n - 0 spawn
但是然後在
main.cf
您嘗試在沒有d
字母的情況下更改其配置:policy-spf_time_limit=3600
- 然後你對
smtpd_*_restrictions
. 您指的是mua_*
設置,但沒有在任何地方定義這些設置。如果您將自定義限制列表添加到,則可以在限制設置右側使用它們時
smtpd_restriction_classes
跳過,這樣可以在配置錯誤的情況下為您提供更易讀的錯誤消息:$
smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions, mua_sender_restrictions mua_client_restrictions = permit_sasl_authenticated, reject ...
然後在
master.cf
:smtps .. .. -o smtpd_client_restrictions=mua_client_restrictions
我強烈建議從一組新的庫存配置開始,並逐步只添加您真正需要的那些更改。
**執行 postconf 應該發出零警告。**避免執行
postconf
已經告訴您配置的某些部分不起作用的系統。即使在postfix中包含許多保護措施,也很容易創建一個會被垃圾郵件發送者濫用的設置。