-------- Original-Nachricht -------- > Datum: Thu, 29 Jan 2009 17:14:08 +0100 > Von: mouss <mo...@ml.netoyen.net> > An: postfix-users@postfix.org > Betreff: Re: Calling smtpd restriction/filter from within master.cf
> Steve a écrit : > > Hello list > > > > I just don't get it. I have created a smtpd restriction and would like > to use that restriction from within master.cf. Something like that: > > > > main.cf: > > -------- > > smtpd_restriction_classes = > > my_filter > > > > filter = > > check_recipient_access proxy:mysql:${config_directory}/my_filter.cf > > > > proxy_read_maps = > > proxy:mysql:${config_directory}/my_filter.cf > > -------- > > > > > > my_filter.cf: > > ------------- > > user = foo > > password = foobar > > dbname = mydb > > hosts = unix:/var/run/mysqld/mysqld.sock > > query = SELECT 'my-filter-lmtp:unix:/var/run/my-filter/filter.sock' > FROM alias WHERE address=_latin1'%s' AND active='1' > > ------------- > > what's this funny 'my-filter-lmtp-...' that you return here. a > check_recipient_access must return a valid restriction. > Sorry Mouss. Should have been: user = foo password = foobar dbname = mydb hosts = unix:/var/run/mysqld/mysqld.sock query = SELECT 'FILTER my-filter-lmtp:unix:/var/run/my-filter/filter.sock' FROM alias WHERE address=_latin1'%s' AND active='1' I forgot to paste that FILTER keyword when writing the mail. Sorry. > PS If you are using this to do per recipient filtering, don't forget > that only one filter will run. so if a message is sent to multiple > recipients, the last FILTER statement will set the filter. if one of the > recipients is configured to skip filtering, all it takes a spammer is > to add this as the last recipient... > Thanks for reminding me about that. Is that btw as well true if I would limit destination concurrency to 1 for that filter? > > > > master.cf: > > ---------- > > my-filter-lmtp unix - - n - 3 lmtp > > > > 127.0.0.1:10025 inet n - n - - smtpd > > -o cleanup_service_name=cleanup > > -o local_header_rewrite_clients= > > -o local_recipient_maps= > > -o mynetworks=127.0.0.0/8 > > -o mynetworks_style=host > > -o > receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters > > -o relay_recipient_maps= > > -o smtp_send_xforward_command=yes > > -o smtpd_authorized_xforward_hosts=127.0.0.0/8 > > -o smtpd_client_connection_count_limit=0 > > -o smtpd_client_connection_rate_limit=0 > > -o smtpd_client_restrictions=permit_mynetworks,reject > > -o smtpd_data_restrictions=my_filter,reject_unauth_pipelining > > -o smtpd_delay_reject=no > > -o smtpd_end_of_data_restrictions= > > -o smtpd_error_sleep_time=0 > > -o smtpd_hard_error_limit=1000 > > -o smtpd_helo_restrictions= > > -o smtpd_recipient_restrictions=permit_mynetworks,reject > > -o smtpd_restriction_classes= > > -o smtpd_sender_restrictions= > > -o smtpd_soft_error_limit=1001 > > -o strict_rfc821_envelopes=yes > > ---------- > > > > > > But this does not work. I get the following error: > > ---- > > Jan 29 13:44:59 system postfix/smtpd[14242]: warning: unknown smtpd > > restriction: "my_filter" > > ---- > > > > > > Why is that? What am I missing? > > > > > > // Steve -- NUR NOCH BIS 31.01.! GMX FreeDSL - Telefonanschluss + DSL für nur 16,37 EURO/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a