eml2html

A grans trets podem dir que la rutina en FPK treballada a este article transforma un arxiu eml (format de correu electrònic) a html.

En realitat el que es fa este programa en Free Pascal és extraure la part que està en html del eml i reformatar tant els fí de línia com els caràcters especials. Pel que fa al primer cas açò es fa reemplaçant el “=” a final de línia per un encadenament de frases, pel que fa al segon es recodifica el =HEX per un ‘&#dec;’, mantenint la resta del document igual. Açò funcionarà sempre que el eml tinga encapsulat este format rar de html i si no hi ha imatges (tot i que resultaria fàcil implementar-ho

Pots baixar-te’l ací: eml2html (6 downloads)

Pots vore el codi font del programa en la següent caixa :

{
Program eml2html;
 Uses sysutils, strutils;
 Var s:String;
 t,t1:text;p:Boolean;

Function tune(ss:string):String;
Var aux:String;n,k:Integer;
 Begin
 k:=length(ss);n:=1;aux:='';
 Repeat
 Begin
 If Copy(ss,n,1)<>'=' then aux:=aux+copy(ss,n,1) else
 Begin aux:=aux+'&#'+inttostr(hex2dec(copy(ss,n+1,2)))+';';inc(n,2); end;
 Inc(n);
 End;
 Until n>k;
 tune:=aux;
 End;

Begin
 If Paramcount=0 then begin writeln ('Bàsic eml2html (CC) BY-SA 4.0. Jose Ismael Sánchez Ordianana. Hivern 2024.');Halt(0);End;
 Assign (t,paramstr(1)+'.eml');Assign(t1,paramstr(1)+'.html');
 {$i-} Reset (t); {$i+}
 If ioresult<>0 Then Begin Writeln ('Fitxer ',paramstr(1)+'.eml',' no trobat.');halt(1);end;
 p:=False;Rewrite (t1);
 Writeln (t1,'<html>');
 Writeln (t1,'<body>');
 While not eof(T) Do Begin
 Readln (t,s);
 If s='</body>' Then p:=false;
 If p Then Begin
 If Copy (s,Length (s),1)='=' Then Write (t1,tune(Copy(s,1,Length(s)-1))) Else Writeln (t1,tune(s));
 End;
 If s='<body>' Then p:=true;
 End;
 Writeln (t1,'</body></html>');
 Close (t); Close (t1);
 End.