Beim Verschicken von Emails wird das Kommando $sendmail durch Lx-Offices Template...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 7 Nov 2007 09:12:30 +0000 (09:12 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 7 Nov 2007 09:12:30 +0000 (09:12 +0000)
SL/Mailer.pm
lx-erp.conf
lx-erp.conf.default

index 5123bab..35cc57a 100644 (file)
@@ -31,6 +31,7 @@
 package Mailer;
 
 use SL::Common;
+use SL::Template;
 
 sub new {
   $main::lxdebug->enter_sub();
@@ -93,17 +94,28 @@ sub send {
 
   local (*IN, *OUT);
 
-  my $boundary = time;
-  $boundary = "LxOffice-$self->{version}-$boundary";
-  my $domain = $self->{from};
-  $domain =~ s/(.*?\@|>)//g;
-  my $msgid = "$boundary\@$domain";
+  my $boundary =  time();
+  $boundary    =  "LxOffice-$self->{version}-$boundary";
+  my $domain   =  $self->{from};
+  $domain      =~ s/(.*?\@|>)//g;
+  my $msgid    =  "$boundary\@$domain";
+
+  my $form     =  $main::form;
+  my $myconfig =  \%main::myconfig;
+
+  my $email    =  $myconfig->{email};
+  $email       =~ s/[^\w\.\-\+=@]//ig;
+
+  $form->{myconfig_email} = $email;
+
+  my $template =  PlainTextTemplate->new(undef, $form, $myconfig);
+  my $sendmail =  $template->parse_block($main::sendmail);
 
   $self->{charset} = Common::DEFAULT_CHARSET unless $self->{charset};
 
-  if (!open(OUT, $main::sendmail)) {
+  if (!open(OUT, $sendmail)) {
     $main::lxdebug->leave_sub();
-    return "$main::sendmail : $!";
+    return "$sendmail : $!";
   }
 
   $self->{contenttype} = "text/plain" unless $self->{contenttype};
index b8d0230..abea479 100644 (file)
@@ -17,7 +17,7 @@ $memberfile = "users/members";
 $eur= 1;
 
 # location of sendmail
-$sendmail = "| /usr/sbin/sendmail -t";
+$sendmail = '| /usr/sbin/sendmail -t<%if myconfig_email%> -f <%myconfig_email%><%end%>';
 
 # set language for login and admin
 $language = "de";
index b8d0230..abea479 100644 (file)
@@ -17,7 +17,7 @@ $memberfile = "users/members";
 $eur= 1;
 
 # location of sendmail
-$sendmail = "| /usr/sbin/sendmail -t";
+$sendmail = '| /usr/sbin/sendmail -t<%if myconfig_email%> -f <%myconfig_email%><%end%>';
 
 # set language for login and admin
 $language = "de";