X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/73b3a0627fe093f5ee1b9536f93648571a3bf971..bc0e2edad8e8f94f85f2a59ceb784b8eb0cda97c:/SL/Mailer.pm?ds=inline diff --git a/SL/Mailer.pm b/SL/Mailer.pm index c931dd319..b7932457b 100644 --- a/SL/Mailer.pm +++ b/SL/Mailer.pm @@ -34,6 +34,7 @@ use SL::DB::EmailJournal; use SL::DB::EmailJournalAttachment; use SL::DB::Employee; use SL::Template; +use SL::Version; use strict; @@ -87,7 +88,7 @@ sub _create_message_id { $domain =~ s/.*\@//; $domain =~ s/>.*//; - return "kivitendo-$self->{version}-" . time() . "-${$}-${num_sent}\@$domain"; + return "kivitendo-" . SL::Version->get_version . "-" . time() . "-${$}-${num_sent}\@$domain"; } sub _create_address_headers { @@ -160,9 +161,9 @@ sub _create_attachment_part { return undef if $email_journal > 1 && !defined $attachment_content; $attachment_content ||= ' '; - $attributes{charset} = $self->{charset} if $self->{charset}; + $attributes{charset} = $self->{charset} if $self->{charset} && ($attributes{content_type} =~ m{^text/}); - $::lxdebug->message(LXDebug->DEBUG2(), "mail6 mtype=" . $attributes{Type} . " filename=" . $attributes{Filename}); + $::lxdebug->message(LXDebug->DEBUG2(), "mail6 mtype=" . $attributes{content_type} . " filename=" . $attributes{filename}); my $ent; if ( $attributes{content_type} eq 'message/rfc822' ) { @@ -221,8 +222,11 @@ sub send { # Create driver for delivery method (sendmail/SMTP) $self->{driver} = eval { $self->_create_driver }; if (!$self->{driver}) { - $self->_store_in_journal('failed', 'driver could not be created; check your configuration'); - return "send email : $@"; + my $error = $@; + $self->_store_in_journal('failed', 'driver could not be created; check your configuration & log files'); + $::lxdebug->message(LXDebug::WARN(), "Mailer error during 'send': $error"); + + return $error; } # Set defaults & headers @@ -231,7 +235,7 @@ sub send { $self->{headers} = [ Subject => $self->{subject}, 'Message-ID' => '<' . $self->_create_message_id . '>', - 'X-Mailer' => "kivitendo $self->{version}", + 'X-Mailer' => "kivitendo " . SL::Version->get_version, ]; $self->{mail_attachments} = []; $self->{content_by_name} = $::instance_conf->get_email_journal == 1 && $::instance_conf->get_doc_files; @@ -247,6 +251,7 @@ sub send { #$::lxdebug->message(0, "message: " . $email->as_string); # return "boom"; + $::lxdebug->message(LXDebug->DEBUG2(), "mail1 from=".$self->{from}." to=".$self->{to}); my $from_obj = (Email::Address->parse($self->{from}))[0]; $self->{driver}->start_mail(from => $from_obj->address, to => [ $self->_all_recipients ]); @@ -260,7 +265,7 @@ sub send { $self->{journalentry} = $self->_store_in_journal; - return $ok ? '' : "send email: $error"; + return $ok ? '' : ($error || "undefined error"); } sub _all_recipients {