Schrift
[thread]6822[/thread]

MAIL::AUDIT MIME E-Mails ?

Tags: Ähnliche Threads

Leser: 1


<< >> 7 Einträge, 1 Seite
testdemo
 2005-03-29 18:11
#53029 #53029
User since
2005-03-29
3 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe erfolgreich den Body einer "normalen" (7 -Bit ASCII) E-Mail verändert.

Leider jedoch kann MAIL::AUDIT  mit E-Mails im MIME Format nichts anfangen. Ich habe mir deshalb MIME::Tools zur Hilfe genommen ich kann den Body auch verändern jedoch kann ich nicht den veränderten Inhalt an MAIL::AUDIT zurückgeben. Ich bin für jede Hilfe dankbahr !

Gruß
Dennis K.




Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl -w

use strict;
use warnings;
use Data::Dumper;
use Mail::Audit;
use MIME::Parser;

my $mail = Mail::Audit->new;
my $orginalto = $mail->to();
my @newto = split (/@/, $orginalto);
unshift (@{$mail->body}, "$newto[0]\n");

my $parser = new MIME::Parser;
my @orginalbody = (@{$mail->body});
my $entity = $parser->parse_data(\@orginalbody);
my $body = $entity->bodyhandle();

my @lines = $body->as_lines();
unshift (@lines, "$newto[0]\n");
@{$mail->body} = @lines;

$mail->resend("NAME\@DOMAIN");


edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1112162834-->
renee
 2005-03-30 02:01
#53030 #53030
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was willst Du genau machen? Welche Fehlermeldungen gibt es??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2005-03-30 10:10
#53031 #53031
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Wiki:Wie frage ich bei Perl-Community.de?, insbesondere Code-Tags
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
testdemo
 2005-03-30 10:28
#53032 #53032
User since
2005-03-29
3 Artikel
BenutzerIn
[default_avatar]
Code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w 

use strict;
use warnings;
use Data::Dumper;
use Mail::Audit;

my $mail = Mail::Audit->new;
my $orginalto = $mail->to();
my @newto = split (/@/, $orginalto);
unshift (@{$mail->body}, "$newto[0]\n");

$mail->resend("NAME\@DOMAIN");


Sobald aber ne MIME E-Mail kommmt kann Mail:audit den Body nicht mehr parsen steht auch offiziell da


Zitat:

Mail::Audit groks MIME; when appropriate, it subclasses MIME::Entity. Read the MIME::Tools man page for details.

http://search.cpan.org/~simon/Mail-Audit-2.1/Audit.pm

Den Code den ich als erstes gepostet habe war der versuch den Body mit Hilfe von MIME
::Parser rauszufischen und zu verändern das hat auch funktioniert jedoch
kann ich nicht den Wert wieder auf die Body Reference auf ein Array von Mail Audit überschreiben @{$mail->body} = @linevs;


Ich weiß jetzt nicht wie ich verfahren soll (Perl neuling) vielleicht is das super einfach aber ich hab leider keine Ideen mehr
Dubu
 2005-03-30 15:58
#53033 #53033
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich kenne mich mit Mail::Audit nicht aus, aber das Zitat oben sagt doch einwandfrei, dass Mail::Audit sehr gut mit MIME zurecht kommt ("groks"), und sogar eine Subklasse von MIME::Entity erzeugt, wenn es angebracht ist!?

Abgesehen davon ist mir auch noch unklar, was genau du machen moechtest. Es sieht so aus, als wolltest du einfach eine Zeile oben im Body hinzufuegen. Ich weiss zwar nicht, wozu das gut sein soll, aber es kann auf jeden Fall Probleme mit signierten Mails geben und ist in MIME-Mails beim Empfaenger nicht sichtbar (weil vor allen MIME-Teilen). Waere es nicht sinnvoller, eine zusaetzliche Headerzeile, sowas wie "X-Original-Recipient: ..." einzufuegen?
testdemo
 2005-03-30 17:16
#53034 #53034
User since
2005-03-29
3 Artikel
BenutzerIn
[default_avatar]
aha wer ja doll wenn Mail:Audit MIME messages parsen könnte aber wie ?

Ich möchte den Namen (namen@domain.de) am anfang des Bodys schreiben - nein nicht im Header sondern im Body (ist leider eine Vorgabe die ich einhalten muss)!

Mann könnte doch auch eine neuen MIME Part hinzufügen oder etwa nicht ?
Dubu
 2005-03-30 19:13
#53035 #53035
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich habe gerade mal mit Mail::Audit herumgespielt, und der folgende, schnell zusammengehackte Code funktioniert zumindest fuer einfache nicht-MIME- und MIME-Mails:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use Mail::Audit;
use MIME::Entity;

my $mail = Mail::Audit->new;
my $originalto = $mail->to();
# Das soll immer etwas sinnvolles liefern? ...
my ($newto) = split (/@/, $originalto, 2);

if ($mail->is_mime) {
   # Erstelle neuen MIME-Part mit der Adresse
   my $newpart = MIME::Entity->build(
       Type => 'text/plain',
       Encoding => 'quoted-printable',
       Data => [ $newto ],
   ) or die "kann keinen neuen MIME-Part anlegen: $!";
   # Fuege den neuen MIME-Part zur Mail hinzu
   $mail->add_part ($newpart, 0) or die "kann MIME-Part nicht hinzufuegen: $!";
} else {
   unshift @{$mail->body}, "$newto\n", "\n";
}

print @{$mail->body()}, "\n";
# $mail->resend('root@localhost');
<< >> 7 Einträge, 1 Seite



View all threads created 2005-03-29 18:11.