仅允许来自我的networking的SMTP AUTH

是否有可能只允许我的networking中的IP地址使用SMTP AUTH? 我testing了一堆选项,但没有人工作。 这是我的main.cf的实际状态:

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = mx1.domain.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.domain.com, localhost.domain.com, localhost relayhost = mynetworks = 172.20.1.0/24 172.18.1.0/24 192.168.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf virtual_transport = dovecot dovecot_destination_recipient_limit = 1 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_tls_security_level = may smtpd_tls_auth_only = no smtpd_recipient_restrictions = check_recipient_access mysql:/etc/postfix/blocked-recipients.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_sender_access hash:/etc/postfix/sender_access message_size_limit = 409600000 

你可能会想使用smtpd_sasl_exceptions_networks

谢谢@ 84104。 你的回答让我发现这个题目解决了我的问题。

smtpd_sasl_exceptions_networks不公布AUTH支持,但仍允许来自任何IP的AUTH。

此function是为了防止某些networking客户端在服务器宣布AUTH支持时发生混乱,但客户端没有login信息。 使用smtpd_sasl_exceptions_networks ,这些客户端不会尝试进行身份validation,一切都很好。

smtpd_sasl_exceptions_networks已被smtpd_discard_ehlo_keywordssmtpd_discard_ehlo_keyword_address_maps 。 后两者阻止Postfix接受AUTH命令。

smtpd_sasl_exceptions_networks可能应该被弃用,并最终从文档中删除。