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.
eml2html té la llicència CC BY-SA 4.0© 2 per Jose Ismael Sánchez Ordiñana
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 (562 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.
