Du skal have en Content-Type header med så du angiver dit indhold til at være HTML (og så skal indholdet naturligvis også være HTML). Så længe du sender en plain-text mail, har du ingen kontrol over formatering.
Den skal faktisk sige det samme som hvis den skulle påvirke din PHP-side, altså
Content-Type: text/html;charset=DitTegnsætHer
og den skal jo så med ind i header-parameteren, adskilt af konstanten PHP_EOL (da de fleste Linux-maskiner forventer \n, mens Windows vil have \r\n), så det bliver
Og husk nu at lave HELE din mailtekst om til et egentligt HTML-dokument når du gør det her - ellers skal du ikke regne med det fungerer efter hensigten
pidgeot, har du noget info om det med linieskiftet? Vi er jo ovre i SMTP nu (som burde være uafhængigt af OS), og der er det officielle lineskift altid \r\n. At alle ikke overholder det, er så noget andet, men at det altid er sådan?
Jeg har ikke lige en egentlig reference ved hånden, men det bunder i historiske årsager: Oprindeligt forventede sendmail nemlig \n. Den ville så konvertere til \r\n når det blev afsendt (hvilket gjorde at \r\n blev til \r\n\n).
Af samme grund vil sendmail-wrappere på *nix i dag opføre sig på netop den måde når de bliver kaldt som sendmail (hvilket PHP gør). Du har ret i at man godt kan komme ud for at det ikke er tilfældet, men det er meget sjældent man har med sådan en at gøre. Derfor er den bedste løsning normalt PHP_EOL; med mindre du har med en speciel sendmail-wrapper at gøre, vil scriptet fungere korrekt på både Windows og *nix, uden tilretninger.
Det vil i øvrigt være ret synligt hvis sendmail'en IKKE opfører sig sådan, i hvilket tilfælde man jo blot kan skifte til \r\n - jeg har bare oplevet at der er flere *nix'es der forventer \n end \r\n.
Synes godt om
Ny brugerNybegynder
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.