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 {

Reply via email to