rh state
[PerlMail.git] / perlmail-sendmail
index 5ea95ab..2177e2c 100755 (executable)
@@ -24,11 +24,12 @@ use strict;
 use warnings;
 
 use File::Basename;
+use File::Spec::Link;
 BEGIN {
-       use lib $ENV{"PERLMAIL_BASEDIR"} || File::Basename::dirname($0);
-       use PerlMail::Config;
-       use PerlMail::Lib;
+       eval 'use lib $ENV{"PERLMAIL_BASEDIR"} || File::Basename::dirname(File::Spec::Link->resolve($0));';
        }
+use PerlMail::Config;
+use PerlMail::Lib;
 
 require Getopt::Long;
 use POSIX qw(WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG);
@@ -153,7 +154,11 @@ for my $rcpt (@rcpts) {
        if (defined $rcpt) {    # !defined($rcpt) if we have no recipients
                local $_;
                $opt_f=FromAddress($rcpt,1)->address() if !defined $opt_f;
-               $head->replace($from_headername,FromAddress($rcpt,0)->format()) if $from_headername;
+               if ($from_headername) {
+                       if (my $fromaddr=FromAddress($rcpt,0)->format()) {
+                               $head->replace($from_headername,$fromaddr);
+                               }
+                       }
                }
 
        1;      # drop '-bm' if present as it is default anyway