Autor Zpráva
TomasRe
Profil
Ahoj,

může mi prosím někdo poradit? Při odeslání emailu, se zpráva odešle s diakritikou. V poště jako je např. email.seznam se zobrazuje a funguje vše správně. Problém nastává v outlooku:

- nezobrazuje se od koho je email odeslán, takže nejde ani odpovědět
- nevím jak skrýt vypsanou hlavičku - message-id: ..., která je vypsána nad zprávou

<?php
$headers = "Content-Type: text/html; charset=\"utf-8\"\r\n";
$headers .= "From: odkoho@email.cz\r\n";        

$message ="<table><tr><td>Příliš žluťoučký <strong>kůň úpěl</strong> ódy.</td></tr></table>";
       
mail("komu@email.cz","test",$message,$headers);

echo "<p>e-mail byl odeslán</p>";
?>
Davex
Profil
Funkce mail() je hodně nízkoúrovňová a je potřeba předávat jí správnou hlavičku. To odřádkování \r\n zkus nahradit konstantou PHP_EOL.

$headers = "Content-Type: text/html; charset=\"utf-8\"" . PHP_EOL;
$headers .= "From: odkoho@email.cz" . PHP_EOL;

Pokud to ani potom nebude správně, tak bude asi nejlepší použít třídu PHPMailer, která správné sestavení a odeslání e-mailu vyřeší.
TomasRe
Profil
Davex:
Super, funguje to... Strašně moc děkuju...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: