I've done a little change to qs-1.20rc3 to make it works better with an hosting server if you use vpopmail: I want to notify the recip, so i must use the --local options, but i've 170.000 domains, so i cannot type all there, so i've modifyed qs to load the perl module vpopmail at the beginning, and then control if the domain is local (in the is_unreplyable_email subroutine) with a simple "vgetdomaindir" function. So if the domain is in the system it will automatically recognize that it's local without look at the list of the --local options.
To use this patch you need to install the vpopmail Perl module, you can find it at search.cpan.org or http://bluedot.net, if you have some problems to install it on latest rh please search on the mailing list archive on bluedot.net, there's some hints. If you would like to include it on the default qs dist (i think that it's a useful feature) i think that is better to enable it via some --something flag at the ./configure time, to make it simple to disable or enable it. Regards. -- Davide Giunchi
*** qmail-scanner-queue.template.dist Fri Sep 5 17:30:46 2003 --- qmail-scanner-queue.template Fri Sep 5 17:41:38 2003 *************** *** 72,77 **** --- 72,78 ---- use Sys::Syslog qw(:DEFAULT setlogsock); setlogsock('unix'); + use vpopmail; my $VERSION="1.20rc3"; *************** *** 1284,1296 **** #was a mailing-list/postmaster/etc, or the recipient is a local user. #If it is we don't want to send a reply. &debug("i_u_e: called with $addr_type"); ! if ($addr_type eq "recips") { foreach $dom (@local_domains_array) { &debug("i_u_e: does $recips contain $dom?"); ! if ($recips =~ /$dom$/i) { ! &debug("i_u_e: yes it does!"); ! $is_local++; } } } else { --- 1285,1304 ---- #was a mailing-list/postmaster/etc, or the recipient is a local user. #If it is we don't want to send a reply. &debug("i_u_e: called with $addr_type"); ! ! if ($addr_type eq "recips") { foreach $dom (@local_domains_array) { &debug("i_u_e: does $recips contain $dom?"); ! ! my $recip_dom = $recips; ! $recip_dom =~ s/^.*\@(.*)$/$1/; ! my $vdir = vgetdomaindir("$recip_dom"); ! ! if ( $vdir ne '1' ) { ! #if ($recips =~ /$dom$/i) { ! &debug("i_u_e: yes it does!"); ! $is_local++; } } } else {