host1:~lace/src/PerlMail/ update.
[PerlMail.git] / perlmail-accept
index e704077..4feb8ec 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 # 
-#      $Id$
+#      $Id: perlmail-accept,v 1.40 2010/07/16 07:19:36 lace Exp $
 # Copyright (C) 2002-2003 Jan Kratochvil <project-PerlMail@jankratochvil.net>
 # 
 # This program is free software; you can redistribute it and/or modify
@@ -19,7 +19,7 @@
 
 
 use vars qw($VERSION);
-$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+$VERSION=do { my @r=(q$Revision: 1.40 $=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
 use strict;
 use warnings;
 
@@ -48,9 +48,7 @@ BEGIN {
        use lib $ENV{"PERLMAIL_BASEDIR"} || File::Basename::dirname($0);
 
        # FIXME:
-       use lib $ENV{"HOME"}."/lib64/perl5";
-       use lib $ENV{"HOME"}."/lib/perl5";
-       use lib $ENV{"HOME"}."/share/perl5";
+#      use lib split /:/,$ENV{"PERL5LIB"};
 
        use PerlMail::Config;
        use PerlMail::Lib;
@@ -436,11 +434,17 @@ my($folder,$profile,%args)=@_;
                                        )
                        if $do{"syslog"} || $Dry;
        $folder=~s/;.*$//s;
-       $folder="$Mail/".$' if $folder=~/^=/;
        push @AuditStored,$folder if $do{"did"};
        return if $store_ignore || $Dry;
        $DoBell++ if $do{"bell"};
-       write_message($folder) or die;
+       my $folder1="$Mail/".$' if $folder=~/^=/;
+       write_message($folder1) or die $folder1;
+       if ($Mail2) {
+         my $folder2="$Mail2/".$' if $folder=~/^=/;
+         my $old=umask 0117;
+         write_message($folder2) or die $folder2;
+         umask $old;
+       }
        smssend_tryall $store_ignorenewmail,$do{"sms"},%args if $do{"sms"};
 }
 
@@ -702,9 +706,12 @@ my($re,$justone,$header,$maybeaddress)=@_;
        if (ref $header) {
                $header=join(",",&$header());
                }
-       else {
+       elsif ($justone) {
                $header=$Audit->get($header);
                }
+       else {
+               $header=join(",",$Audit->get($header));
+       }
        return 0 if !$header;
        return $header=~/$maybeaddress/i if "Regexp" eq ref $maybeaddress;
        return $header=~/$re/i if !defined(my $want=($maybeaddress=~/^\<(.*)\>$/)[0]);
@@ -716,7 +723,7 @@ my($re,$justone,$header,$maybeaddress)=@_;
                                { $_->address()=~/$'/i; }
                        elsif ($want=~/\@$/)
                                { $_->user()   =~/^(?:\Qmailto:\E)?\Q$`\E/i; }
-                       elsif ($want=~/^\@/)
+                       elsif ($want=~/^\@/&&defined $')
                                { $_->host()   =~/^\Q$'\E/i; }
                        else
                                { $_->address()=~/^(?:\Qmailto:\E)?\Q$want\E/i; }