我想设置我的SMTP服务器,以便它只允许SMTPauthentication用户发送电子邮件,但实际发送是通过Mailjet完成的。 我在Ubuntu 14.04 LTS上运行,Postfix版本是mail_version = 2.9.6
如果客户端使用凭证进行身份validation – 它们将被validation(如果它们无效,则该消息被拒绝)。 但是,如果客户不authentication,客户仍然可以发送邮件。
请注意,我正在尝试将电子邮件发送到所有域。 不只是限制名单。
我如何拒绝所有非授权用户?
main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters 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=no smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = mail2.xxx.cz broken_sasl_auth_clients = yes #smtpd_tls_auth_only = no smtpd_delay_reject = yes #smtpd_client_restrictions = permit_sasl_authenticated, reject smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, permit_mynetworks, check_r$ #permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination #permit_sasl_authenticated, # reject_unauth_destination, # permit_mynetworks, # check_relay_domains # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = sweetparadise.cz virtual_alias_maps = hash:/etc/postfix/virtual virtual_alias_domains = domain1.cz domain2.cz domain3.cz alias_database = hash:/etc/aliases myorigin = /etc/mailname relayhost = [in-v3.mailjet.com]:587 mynetworks = 127.0.0.0/8 192.168.137.1 [::ffff:127.0.0.0]/104 [::1]/128 home_mailbox=Maildir/ smtp_tls_security_level = encrypt
所以问题是我正在使用从Windows主机到运行后缀的虚拟机的端口转发。 所以所有的stream量都经过了192.168.137.1 。 这导致了在permit_mynetworks内发起的电子邮件,所以都被接受了。