/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
imap headerinfo -> subject format
Fra : Brian Emilius


Dato : 13-03-05 14:45

Hej NG

Jeg er ved at lave en simpel pop3/imap mail-klient. Nogle e-mails har
meget mærkelige headers, specifikt tænker jeg på subject.

Her er et eksempel:
=?iso-8859-1?Q?VS=3A_M=F8det_om_F=E6lleden=2E?=

Der skulle meget gerne bare stå:
VS: Mødet om Fælleden.

Hvorfor gør der ikke det, og hvad kan jeg gøre ved det?

--
Venlig hilsen
Brian Emilius

 
 
Peter Brodersen (14-03-2005)
Kommentar
Fra : Peter Brodersen


Dato : 14-03-05 01:42

On Sun, 13 Mar 2005 14:44:54 +0100, Brian Emilius <msn@emilius.dk>
wrote:

>Her er et eksempel:
>=?iso-8859-1?Q?VS=3A_M=F8det_om_F=E6lleden=2E?=
>
>Der skulle meget gerne bare stå:
>VS: Mødet om Fælleden.
>
>Hvorfor gør der ikke det, og hvad kan jeg gøre ved det?

Headeren er i quoted-printable-format. Det er helt normalt, og i fuldt
overensstemmelse med standarden, mere præcist RFC2047:
http://rfc.sunsite.dk/rfc/rfc2047.html

Hvis du vil lave det hele fra bunden af, så må du læse RFC'en igennem.
Bemærk, at der er flere smådetaljer, som der skal tages højde for - en
god del eksisterende klienter overholder fx ikke "White space between
adjacent 'encoded-word's is not displayed."-delen.

Dertil kommer attachments og lignende, som også kan være lidt en
hovedpine, specielt med attachments i attachments, m.m.

Heldigvis findes der en PEAR-pakke, der kan hjælpe dig; Mail_Mime:
http://pear.php.net/package/Mail_Mime

mimeDecode.php er hvad du har brug for. Fx:

<?php
// $rawmail er den rå mail inklusive headers
require 'Mail/mimeDecode.php';
$params = array(
   'include_bodies' => TRUE,
   'decode_bodies' => TRUE,
   'decode_headers' => TRUE
);
$decoder = new Mail_mimeDecode($rawmail);
$structure = $decoder->decode($params);

var_dump($structure);
?>

Så er du godt kørende, med headers dekodet og mailen delt op i en
passende struktur.


Dertil kan man altid krydre som pop3-reader lidt, hvis man har adgang
til at afvikle forskellige programmer. I min pop3-reader hælder jeg fx
HTML-udgaver igennem lynx (har også prøvet med w3m og links), PDF'er
igennem pdftotext og Word-dokumenter igennem antiword.

--
- Peter Brodersen

Brian Emilius (14-03-2005)
Kommentar
Fra : Brian Emilius


Dato : 14-03-05 14:24

Peter Brodersen skrev:
> On Sun, 13 Mar 2005 14:44:54 +0100, Brian Emilius <msn@emilius.dk>
> wrote:
>
>
>>Her er et eksempel:
>>=?iso-8859-1?Q?VS=3A_M=F8det_om_F=E6lleden=2E?=
>>
>>Der skulle meget gerne bare stå:
>>VS: Mødet om Fælleden.
>>
>>Hvorfor gør der ikke det, og hvad kan jeg gøre ved det?
>
>
> Headeren er i quoted-printable-format. Det er helt normalt, og i fuldt
> overensstemmelse med standarden, mere præcist RFC2047:
> http://rfc.sunsite.dk/rfc/rfc2047.html
>
> Hvis du vil lave det hele fra bunden af, så må du læse RFC'en igennem.
> Bemærk, at der er flere smådetaljer, som der skal tages højde for - en
> god del eksisterende klienter overholder fx ikke "White space between
> adjacent 'encoded-word's is not displayed."-delen.
>
> Dertil kommer attachments og lignende, som også kan være lidt en
> hovedpine, specielt med attachments i attachments, m.m.
>
> Heldigvis findes der en PEAR-pakke, der kan hjælpe dig; Mail_Mime:
> http://pear.php.net/package/Mail_Mime
>
> mimeDecode.php er hvad du har brug for. Fx:
>
> <?php
> // $rawmail er den rå mail inklusive headers
> require 'Mail/mimeDecode.php';
> $params = array(
>    'include_bodies' => TRUE,
>    'decode_bodies' => TRUE,
>    'decode_headers' => TRUE
> );
> $decoder = new Mail_mimeDecode($rawmail);
> $structure = $decoder->decode($params);
>
> var_dump($structure);
> ?>
>
> Så er du godt kørende, med headers dekodet og mailen delt op i en
> passende struktur.
>
>
> Dertil kan man altid krydre som pop3-reader lidt, hvis man har adgang
> til at afvikle forskellige programmer. I min pop3-reader hælder jeg fx
> HTML-udgaver igennem lynx (har også prøvet med w3m og links), PDF'er
> igennem pdftotext og Word-dokumenter igennem antiword.
>
Tak for dit svar, Peter... Det giver mig lidt at læse om

--
Venlig hilsen
Brian Emilius

Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408636
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste