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)."[EMAIL PROTECTED]>{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! 

_______________________________________________
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

Reply via email to