Avatar billede Slettet bruger
15. januar 2004 - 03:11 Der er 17 kommentarer og
1 løsning

Emails fra Eksperten v.4 - MIME problemer?

Idéen er vist, at klienten skal vælge mellem en HTML version eller en plain-text version. Alt efter hvad den (bedst) kan vise.
Dette implementeres med 'multipart/alternative'.

Emails fra Eksperten fungerer ikke som tiltænkt i min email klient (outlook express), der ellers understøtter dette scheme.
Her vises både tekst delen og en (ødelagt) HTML del - da jeg viser alle meddelelser i 'ren tekst'. Kun 'tekst' delen burde vises.

Jeg tror at headerne i mailen fra eksperten er forkerte. Hvorfor sendes HTML delen med headeren 'multipart/related'?

Der skal sendes én 'multipart/alternative' header. Og hver del af mailen (text del og html del) skal være afgrænset af en '--part boundary', efterfulgt af delens 'content-type' header.
Avatar billede admin Novice
15. januar 2004 - 07:06 #1
Jeg benytter Pear's Mail_Mime til at bygge mime mails med. Det er muligt at jeg der gør noget galt?
http://pear.php.net/package/Mail_Mime
Avatar billede Slettet bruger
15. januar 2004 - 12:16 #2
Jeg ved det ikke, men jeg kan konstatere, at den opfører sig på samme måde her. Jeg bruger Mozilla Mail. Af en eller anden grund får jeg en forkrøblet udgave af html-mailen i stedet for den rå tekst, når jeg vælger at vise mail som Plain Text.

Selve mailen ser dog ganske rimelig ud. Den er sat til multipart/alternative og består af følgende:

1: en text/plain
2: en multipart/related som igen består af
2a: en text/html
2b: en image/png

Og delene ser ud til at være korrekt nested. Hvis jeg skulle få den ide at smide HTML-mails efter folk, ville jeg nok have bygget den ligesådan.
Avatar billede Slettet bruger
15. januar 2004 - 13:48 #3
Jeg forstår ikke hvad 'multipart/related' headeren laver. Ihvertfald giver det et forkert resultat.
Avatar billede admin Novice
15. januar 2004 - 13:54 #4
Jeg bruger selv Mozilla Thunderbird, og det virker fint. Har også testet Outlook, uden at opleve problemer med html delen.
Men hvis i kan se at jeg har gjort noget galt, vil jeg selvfølgelig meget gerne høre det.
Avatar billede Slettet bruger
15. januar 2004 - 14:05 #5
Det jeg tror, der forhindrer det i at virke i Outlook Express ér:

De første headers er rigtige nok:
[...]
Content-Type: multipart/alternative;
    boundary="=_a80950c374371fef60b83a2f5a8ecc49"
[...]

Og så kommer text-delen som også er god nok:
--=_a80950c374371fef60b83a2f5a8ecc49
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

Spørgsmål : Emails fra Eksperten v.4 - MIME problemer?
Bruger    : admin
Handling  : Kommentar
Kategori  : Eksperten : Fejl
Link      : http://exp.dk/spm/451803
------------------------------------


Venlig hilsen Eksperten

Vil du annoncere i Eksperten mails eller på www.eksperten.dk?
Kontakt: Ervin Hansen, 77 300 240, e.hansen@idg.dk

Men så kommer der:

--=_a80950c374371fef60b83a2f5a8ecc49
Content-Type: multipart/related;
    boundary="=_ed986b4bce75dd3df254a853c9afce31"

Hvad laver denne tomme del her? Den definerer en ny boundary som du så bruger i det efterfølgende:

--=_ed986b4bce75dd3df254a853c9afce31
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

Dvs. til HTML delen benytter du ikke den originale boundary a80950c374371fef60b83a2f5a8ecc49, men istedet _ed986b4bce75dd3df254a853c9afce31, hvilken ikke har med multipart/alternative at gøre.

Så jeg ville prøve at fjerne den miderste tomme 'multipart/related' del, og så ville jeg ændre HTML delens boundary til a80950c374371fef60b83a2f5a8ecc49 (den der defineres i starten af mailen, og også bruges til tekst-delen).
Avatar billede Slettet bruger
15. januar 2004 - 15:07 #6
mercur8:

Som jeg sagde, består mailen af disse dele. Jeg skriver lige med lidt klammer for at gøre det tydeligere.

multipart/alternative {
  text/plain
  multipart/related {
    text/html
    image/png
  }
}

Naturligvis benytter html-delen derfor den boundary, der bliver defineret til den multipart/related, som den er en del af. Bemærk at multipart/related IKKE er tom, men indeholder både html og billede.

Hvis du ikke ville bruge multipart/related, hvordan ville du så definere, at billedet er relateret til html-filen? Det vil jo være forkert at sætte billedet direkte under multipart/alternative, da det jo ikke kan anses som et alternativ for teksten.
Avatar billede Slettet bruger
15. januar 2004 - 15:09 #7
Og så ignorerer vi lige helt, at jeg ville foretrække helt at droppe både billede og html. Den rå tekstudgave er både mindre og bedre.
Avatar billede Slettet bruger
15. januar 2004 - 15:14 #8
Admin: mine problemer er, at det ikke er text/plain udgaven, der bliver vist. Det samme sker i Thunderbird. Den viser også bare en forkrøblet udgave af htmlfilen, hvis jeg vælger View->Message body as->Plain text

Det kan blandt andet ses på at der ikke er kolon i overskrifterne.
Avatar billede Slettet bruger
15. januar 2004 - 16:18 #9
Jeps, det har du garanteret ret i det med brugen af 'multipart/related'. Jeg kendte ikke til det.

Sådan ser det ihvertfald ud i outlook express (når den er sat op til at vise alle mails som text):

http://www.925.dk/exp_oe_mail.jpg
Avatar billede Slettet bruger
15. januar 2004 - 16:25 #10
admin> Kan vi ikke selv få lov at bestemme om vi vil ha de lede HTML mails?

Desuden er liniehøjden her på eksperten tæt på det ulæselige. Det var bedre på den gamle udgave!
Avatar billede admin Novice
19. januar 2004 - 17:05 #11
Jeg skal nok få set på en optimering af html mails. Men jeg følger blot dokumentationen for http://pear.php.net/package/Mail_Mime, så jeg frygter at fejlen er der.

el_barto: det er ikke det dette spm handler om!
Avatar billede Slettet bruger
19. januar 2004 - 17:27 #12
admin> Så må du hellere anmelde mig... du skulle jo nødig svare på mit ganske berettigede spm...
Avatar billede Slettet bruger
19. januar 2004 - 17:47 #13
admin: Kender heller ikke de Pear mail klasser. De plejer nu ellers at have godt styr på det. Det kan jo også være Outlook express, der ikke følger standarderne. Jeg ved det ikke. Men nu kender du ihvertfald til 'problemet' :) Tak for det.
Avatar billede Slettet bruger
19. januar 2004 - 22:27 #14
Jeg kender heller ikke meget til det. Måske vil det hjælpe at sætte en Content-Disposition: attachment på den multipart/related - Men jeg gætter bare her.
Avatar billede Slettet bruger
19. januar 2004 - 22:36 #15
Derudover vil jeg lige gøre opmærksom på, at det absolut ikke vil være en fejltolkning af min slutkommentar 15/01-2004 12:16:51, hvis man opfatter den således, at ideen om at sende HTML-mails ligger mig meget fjernt.
Avatar billede admin Novice
20. januar 2004 - 10:47 #16
Nu sender jeg uden E logo. Hjalp det?
Avatar billede Slettet bruger
20. januar 2004 - 10:53 #17
Ja, nu ser det smukt ud, og Mozilla Thunderbird viser den rigtige text/plain i stedet for html-udgaven. Mange tak.

(Jeg ville dog stadig foretrække uden html-delen, men dette er en KLAR forbedring.)

Jeg ved dog ikke, om det virker efter hensigten i webmails og Outlook (Express).
Avatar billede Slettet bruger
20. januar 2004 - 14:25 #18
Jeps nu virker det fint i Outlook Express!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester