X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FMailer.pm;h=7b011d4b0ddb1076454bf36bb949ee57b3a6df95;hb=a4f92ff17d2572ec3a0465fe4444c741d80ecc77;hp=453603ff1f234f0afb7555868a9e9ba025c1c43b;hpb=231412071142f1ca5a20d86fb5e090b795400996;p=kivitendo-erp.git diff --git a/SL/Mailer.pm b/SL/Mailer.pm index 453603ff1..7b011d4b0 100644 --- a/SL/Mailer.pm +++ b/SL/Mailer.pm @@ -30,6 +30,8 @@ package Mailer; +use SL::Common; + sub new { $main::lxdebug->enter_sub(); @@ -87,7 +89,9 @@ sub mime_quote_text { sub send { $main::lxdebug->enter_sub(); - my ($self, $out) = @_; + my ($self) = @_; + + local (*IN, *OUT); my $boundary = time; $boundary = "LxOffice-$self->{version}-$boundary"; @@ -95,18 +99,11 @@ sub send { $domain =~ s/(.*?\@|>)//g; my $msgid = "$boundary\@$domain"; - $self->{charset} = "ISO-8859-15" unless $self->{charset}; + $self->{charset} = Common::DEFAULT_CHARSET unless $self->{charset}; - if ($out) { - if (!open(OUT, $out)) { - $main::lxdebug->leave_sub(); - return "$out : $!"; - } - } else { - if (!open(OUT, ">-")) { - $main::lxdebug->leave_sub(); - return "STDOUT : $!"; - } + if (!open(OUT, $main::sendmail)) { + $main::lxdebug->leave_sub(); + return "$main::sendmail : $!"; } $self->{contenttype} = "text/plain" unless $self->{contenttype}; @@ -147,6 +144,17 @@ $self->{message} foreach my $attachment (@{ $self->{attachments} }) { + my $filename; + + if (ref($attachment) eq "HASH") { + $filename = $attachment->{"name"}; + $attachment = $attachment->{"filename"}; + } else { + $filename = $attachment; + # strip path + $filename =~ s/(.*\/|$self->{fileid})//g; + } + my $application = ($attachment =~ /(^\w+$)|\.(html|text|txt|sql)$/) ? "text" @@ -159,11 +167,6 @@ $self->{message} return "$attachment : $!"; } - my $filename = $attachment; - - # strip path - $filename =~ s/(.*\/|$self->{fileid})//g; - print OUT qq|--${boundary} Content-Type: $application/$self->{format}; name="$filename"; charset="$self->{charset}" Content-Transfer-Encoding: BASE64