content filter in postfix
Hi.
I try to configure postfix to check content per content_filter my main.cf: alias_database=hash:/usr/local/etc/postfix/aliases alias_maps =hash:/usr/local/etc/postfix/aliases command_directory = /usr/local/sbin config_directory=/usr/local/etc/postfix daemon_directory = /usr/local/libexec/postfix debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 debug_peer_level = 3 default_destination_concurrency_limit = 10 disable_vrfy_command = yes # header_checks = mysql:/usr/local/etc/postfix/mysql_virtual_header_maps.cf header_checks = regexp:/usr/local/etc/postfix/header_checks # header_checks = mysql:/usr/local/etc/postfix/mysql_virtual_header_maps.cf, re gexp:/usr/local/etc/postfix/header_checks, # hash_queue_depth = 1 # hash_queue_names = incoming, active,deferred,bounce,defer,flush,hold home_mailbox=Maildir/ inet_interfaces = all local_destination_concurrency_limit = 2 mail_name=Postfix mail_owner = postfix mail_spool_directory = /var/mail mailbox_size_limit = 102400000 mailq_path = /usr/local/bin/mailq manpage_directory = /usr/local/man maximal_queue_lifetime=3d # message_size_limit = 51200000 message_size_limit = 0 mydomain=abc.kom.pl myhostname = 78-tor-7.acn.waw.pl myorigin = $myhostname mynetworks = 192.168.1.0/24, 127.0.0.1 newaliases_path = /usr/local/bin/newaliases queue_directory = /var/spool/postfix queue_run_delay=30m readme_directory = no relay_domains = 127.0.0.0/8 sample_directory = /usr/local/etc/postfix sendmail_path = /usr/local/sbin/sendmail setgid_group = maildrop smtpd_banner = Fuck you yellow Taiwanese spammer! broken_sasl_auth_clients = yes smtpd_client_restrictions = reject_unknown_sender_domain, reject_rbl_client rbl.rafi.pl.eu.org smtpd_error_sleep_time = 3 smtpd_hard_error_limit = 5 smtpd_recipient_limit=10 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination # check_recipient_access mysql:/usr/local/etc/postfix/mysql-virt-userspam.cf, smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_soft_error_limit = 3 unknown_local_recipient_reject_code = 450 virtual_alias_maps=mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps=static:125 virtual_mailbox_base=/usr/local/virtual virtual_mailbox_domains=mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps. cf virtual_mailbox_maps=mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_mailbox_limit=102200000 # virtual_transport=courier virtual_transport=virtual transport_maps=mysql:/usr/local/etc/postfix/mysql_virtual_transport.cf virtual_uid_maps=static:125 # dodane virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_maildir_extended = yes virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_ limit_maps.cf virtual_mailbox_limit_override = yes virtual_mailbox_limit_message = Użytkownik przekroczył rozmiar swojej skrzynki. Prosimy spróbować później. / User quota is exceed. Please try again later. virtual_maildir_limit_message = Użytkownik przekroczył rozmiar swojej skrzynki. Prosimy spróbować później. / User quota is exceed. Please try again later. virtual_overquota_bounce = yes virtual_mailbox_limit_inbox = yes debug_peer_level = 2 html_directory = no hash_queue_names= incoming, active, deffered, bounce, defer, flush, hold hash_queue_depth=1 reject_non_fqdn_hostname = yes # reject_unknown_hostname = yes reject_invalid_hostname = yes # reject_naked_ip_address = yes smtpd_helo_required = yes smtpd_delay_reject = yes smtpd_helo_restrictions = permit_mynetworks, check_helo_access hash:/usr/local/etc/postfix/helo_access, permit # reject_invalid_hostname, permit body_checks=regexp:/usr/local/etc/postfix/body_checks content_filter=filter my master.cf: smtp inet n - n - - smtpd -o content_filter=filter:dummy filter unix - n n - 10 pipe flags=Rq user=filter argv=/test/spamnowy/filter -f ${sender} -- ${recipient} # #smtps inet n - n - - smtpd # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes #submission inet n - n - - smtpd # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 nqmgr #tlsmgr fifo - - n 300 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp -o content_filter=filter:dummy relay unix - - n - - smtp # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error local unix - n n - - local virtual unix - n n - - virtual and my filter in /test/spamnowy/ #!/bin/sh # Simple shell-based filter. It is meant to be invoked as follows: # /path/to/script -f sender recipients... # Localize these. INSPECT_DIR=/var/spool/filter SENDMAIL="/usr/sbin/sendmail -i" # Exit codes from <sysexits.h> EX_TEMPFAIL=75 EX_UNAVAILABLE=69 # Clean up when done or when aborting. trap "rm -f in.$$" 0 1 2 3 15 # Start processing. cd $INSPECT_DIR || { echo $INSPECT_DIR does not exists; exit $EX_TEMPFAIL; } cat > in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; } # Specify your content filter here. # filter < in.$$ || { # echo Message content rejected; exit $EX_UNAVAILABLE; } $SENDMAIL "$@" < in.$$ exit $? when postfix receive mail message loops in queue and is not deliver to mailbox. Why and how to fix it? |
All times are GMT -5. The time now is 02:02 PM. |