
Hi Joerg, I added mime support to the cvs. Thanks! -Martin On Tue, Apr 06, 2004 at 06:48:06PM +0200, Joerg Friedrich wrote:
Hi, I noticed, that AdminEmails are not mime encoded. Esp. sending german Umlaute and Euro/Cent-Signs is not possible. I did a little Cut'n'Paste from System/Ticket/SendArticle.pm Now it should work. The 'To: Handling is not really cute, but it works :-) -- Jörg Friedrich
--- Kernel/Modules/AdminEmail.pm.orig 2004-04-06 18:11:13.000000000 +0200 +++ Kernel/Modules/AdminEmail.pm 2004-04-06 18:48:24.000000000 +0200 @@ -12,6 +12,9 @@ package Kernel::Modules::AdminEmail;
use strict; +use MIME::Words qw(:all); +use MIME::Entity; +use Mail::Internet;
use vars qw($VERSION); $VERSION = '$Revision: 1.12 $'; @@ -37,6 +40,8 @@ }
$Self->{SendmailObject} = Kernel::System::Email->new(%Param); + $Self->{FQDN} = $Self->{ConfigObject}->Get('FQDN'); + $Self->{Organization} = $Self->{ConfigObject}->Get('Organization');
return $Self; } @@ -45,6 +50,7 @@ my $Self = shift; my %Param = @_; my $Output = ''; + my $Charset = $Param{Charset} || 'iso-8859-15'; foreach (qw(From Subject Body Bcc GroupPermission)) { $Param{$_} = $Self->{ParamObject}->GetParam(Param => $_) || $Param{$_} || ''; } @@ -109,12 +115,70 @@ return $Output; } } + + # -- + # prepare mail + # -- + + # -- + # clean up + # -- + $Param{Body} =~ s/(\r\n|\n\r)/\n/g; + $Param{Body} =~ s/\r/\n/g; + + # -- + # setting "To:"-Header to someting to prevent "To: undisclosed-recipients: ;" + # ATM setting it to From, which should be a valid Mailaddress + # -- + + $Param{To} = $Param{From}; + + # -- + # build mail ... + # -- + # do some encode + foreach (qw(From To Bcc Subject)) { + if ($Param{$_}) { + $Param{$_} = encode_mimewords($Param{$_}, Charset => $Charset) || ''; + } + } + + # build header + my $Header = { + From => $Param{From}, + To => $Param{To}, + Bcc => $Param{Bcc}, + Subject => $Param{Subject}, + 'X-Mailer' => "OTRS Mail Service ($VERSION)", + 'X-Powered-By' => 'OTRS - Open Ticket Request System (http://otrs.org/)', + 'Message-ID' => "<".time().".".rand(999999)."\@$Self->{FQDN}>", + Organization => $Self->{Organization}, + Type => 'text/plain; charset='.$Charset, + Encoding => '8bit', + }; + + my $Entity = MIME::Entity->build(%{$Header}, Data => $Param{Body}); + + # -- + # get header + # -- + my $head = $Entity->head; + # -- # send mail # -- $Output .= $Self->{LayoutObject}->Header(Area => 'Admin', Title => 'Admin-Email'); $Output .= $Self->{LayoutObject}->AdminNavigationBar(); - if ($Self->{SendmailObject}->Send(%Param)) { + if ($Self->{SendmailObject}->Send( + From => $Param{From}, + To => $Param{To}, + Bcc => $Param{Bcc}, + Subject => $Param{Subject}, + Header => $head->as_string(), + Body => $Entity->body_as_string(), + )) { + +# if ($Self->{SendmailObject}->Send(%Param)) { $Output .= $Self->_MaskSent(%Param); } else {
_______________________________________________ OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
Martin Edenhofer -- ((otrs.de)) :: OTRS GmbH :: Norsk-Data-Str. 1 :: 61352 Bad Homburg http://www.otrs.de/ :: Manage your communication!