X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FMailer.pm;h=234b6a784b77e30cbd048ebf301e4b0ba2ce4f7f;hb=c9a7e79e10591ae95b1523f2c7f249eae8439580;hp=7b011d4b0ddb1076454bf36bb949ee57b3a6df95;hpb=974b5d8664caba8cebfccc55b1be53a09916a200;p=kivitendo-erp.git diff --git a/SL/Mailer.pm b/SL/Mailer.pm index 7b011d4b0..234b6a784 100644 --- a/SL/Mailer.pm +++ b/SL/Mailer.pm @@ -31,6 +31,9 @@ package Mailer; use SL::Common; +use SL::Template; + +my $num_sent = 0; sub new { $main::lxdebug->enter_sub(); @@ -93,17 +96,29 @@ sub send { local (*IN, *OUT); - my $boundary = time; - $boundary = "LxOffice-$self->{version}-$boundary"; - my $domain = $self->{from}; - $domain =~ s/(.*?\@|>)//g; - my $msgid = "$boundary\@$domain"; + $num_sent++; + my $boundary = time() . "-$$-${num_sent}"; + $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}; @@ -152,7 +167,7 @@ $self->{message} } else { $filename = $attachment; # strip path - $filename =~ s/(.*\/|$self->{fileid})//g; + $filename =~ s/(.*\/|\Q$self->{fileid}\E)//g; } my $application =