[perl] Mime module (wat uitleg)

Pagina: 1
Acties:

  • Infern0
  • Registratie: September 2000
  • Laatst online: 20-08 13:36

Infern0

Hou die ontzettende rust!!

Topicstarter
Ik ben bezig om een filter te maken die quoted-printable mail omzet in 7bit.

Nu heb ik hier een module gevonden die het kan:
http://www.perldoc.com/perl5.6/lib/MIME/Decoder.html

Nu ben ik niet zo'n grote held in perl, dus zou iemand mij een beetje op weg wel helpen. Ik begrijp de uitleg die er bij staat nog niet helemaal.
Ik heb nu ook een perl script wat uitgevoerd wordt voor de mail wordt opgehaald, zodat er een disclaimer onder komt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl -n
$sig_html = `cat /var/qmail-remote/signature-html`;
$search = "</BODY></HTML>";

while (<>)
{
     if (/$search/)
      {
         chomp ($_);
         $_ =~ s/$search/$sig_html/;
      }
      print $_;
}

exit(0);

Nu zou ik ook nog willen dat de mail 7bit (van quoted-printable) wordt mbv van die module.
Volgens mij moet dit wel in de huidige code kunnen, maar als iemand me op weg zou willen helpen, graag.

http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL


  • Juup
  • Registratie: Februari 2000
  • Niet online
1. Je vraag is te groot, te veelomvatend. Probeer een klein probleempje te stellen
2. Is die code zo werkend? Waarschijnlijk niet.
3. ipv $sig_html = `cat /var/qmail-remote/signature-html`;
zou ik het op de Perl manier doen ipv de shell manier:
code:
1
2
3
4
5
open (FH, '/var/qmail-remote/signature-html') || die $!;
while (<FH>)
{ $sig_html .= $_;
}
close (FH)

Is wel iets meer regels maar je hoeft geen (dure) shell op te starten / system call te doen.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

Jaaap: Ipv [backticks] zou ik het op de Perl manier [Perl]
Of handiger:
code:
1
2
3
4
undef $/;
open(SIG, '/var/qmail-remote/signature-html') or die $!;
my $sig_html = <SIG>;
close(SIG) or die $!;

$/ mag je ook als $INPUT_RECORD_SEPARATOR of $RS schijven met use English; :)

  • Infern0
  • Registratie: September 2000
  • Laatst online: 20-08 13:36

Infern0

Hou die ontzettende rust!!

Topicstarter
Op donderdag 25 oktober 2001 10:30 schreef Jaaap het volgende:
1. Je vraag is te groot, te veelomvatend. Probeer een klein probleempje te stellen
2. Is die code zo werkend? Waarschijnlijk niet.
3. wat tips....
1. oke ik zal het proberen
2. code werkt zo wel
3. ok daar heb ik wat aan.

Ik zal het probleem wat duidelijker maken.
Ik probeer dus een stukje html code in de mail in te voegen.
Dit werkt goed het word netjes ingevoegt.
Probleem is dat outlook de banner (die toegevoegt wordt in het stukje html code) niet weergeeft als dit het type mail is: Content-Transfer-Encoding: quoted-printable.
Als ik quoted-printable vervang door 7bit geeft hij in oultook netjes die banner weer. Het probleem is dan nog dat outlook als die html mail verstuurt overal "3D" tussen zet (vraag me niet waarom maar hij doet dat, test zelf maar).

Die 3D neemt outlook nu ook mee als hij op 7bit staat en niet in quoted-printable. Het probleem is nu o.a. de html code niet goed wordt weergegeven.
Zo staat er bv <body bgColor=3D#ffffff> in quoted-printable is dit wit maar in 7bit maakt hij er licht blauw van (dit wil ik niet :) )

Ik had 2 mogelijkheden:
- quoted printable om zetten in 7bit mbv van die fliter
- 3D eruit halen, maar dan haalt hij 3D ook uit mijn mail, dus je kunt dan geen 3D in je maal tikken.

Lang verhaal, maar ik hoop het duidelijker is nu.
En ik hoop dat iemand een oplossing heeft

http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL