Avatar
_d0p3
Člen
Avatar
_d0p3:

Mám takový problém s odesíláním e-mailu pomocí php funkce

mail($to, $subject, $message, $headers);

Mám problém s hlavičkou mailu. Když napíšu do hlavičky toto, tak mi nefunguje formátování mailu pomocí html, ale ostatní věci jako kódováni a 'From:' funguje.

$headers = 'From: info@avmvision.eu' . "\r\n" .
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Ale když napíšu 'Content-type' jako první a 'From:' jako druhé, tak funguje html v mailu, ale From nefunguje a když mi příjde mail tak mi nepříjde od 'info@avmvisi­on.eu', ale od 'zakaznik@endo­ra.stable.cz'. Vypadá to jako by to bralo pouze ten první parametr hlavičky.

$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: webmaster@example.com' . "\r\n" .

Každé reference to tak mají a funguje jim to. Nevíte čím to je?

 
Odpovědět 20. května 11:17
Avatar
Patrik Neumann:

Ahoj,
zkus použít tento kód (jestli to pořád nefunguje):

$headers = "From: tvuj@mail.cz";
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: text/html;charset=\"UTF-8\"\n";
mail($to, $subject, $message, $headers);
Nahoru Odpovědět 28. května 11:38
Nic není nemožné, proto se snažím dál.
Avatar
Eda Stehlík
Člen
Avatar
Eda Stehlík:

Podle mě je lepší použít:

mb_internal_encoding("UTF-8");

$hlavicka = "From: odesilatel";
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";

a poté to odeslat pomocí:

$odeslat = mb_send_mail($adresa, $predmet, $zprava, $hlavicka);

celé by to pak mohlo vypadat asi takto:

mb_internal_encoding("UTF-8");

$hlavicka = "From: odesilatel";
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
$adresa = "prijemce e-mailu";
$predmet = "predmet";
$zprava = "zprava";

$odeslat = mb_send_mail($adresa, $predmet, $zprava, $hlavicka);

A takto by to mělo fungovat!

Nejde na localhostu! Musíš to dát na hosting!

 
Nahoru Odpovědět 29. května 9:48
Avatar
Eda Stehlík
Člen
Avatar
Odpovídá na _d0p3
Eda Stehlík:

Vyřešeno
Namísto:

$hlavicka = "From: odesilatel";
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";

pouzij:

$hlavicka = "From: odesilatel" . "\nMIME-Version: 1.0\n" . "Content-Type: text/html; charset=\"utf-8\"\n";

a vše by mělo fungovat!

 
Nahoru Odpovědět  -3 29. května 9:57
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Eda Stehlík
Matúš Petrofčík:

:D :D a aký je rozdiel medzi tým prvým spájaním stringov a tým druhým spájaním stringom okrem toho spájania stringov? :D :D

Nahoru Odpovědět  +1 29. května 14:14
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Eda Stehlík
Člen
Avatar
Odpovídá na Matúš Petrofčík
Eda Stehlík:

U toho prvního mi nefunguje v e-mailu html

 
Nahoru Odpovědět 29. května 14:36
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Eda Stehlík
Matúš Petrofčík:

To je divné, malo by to fungovať rovnako. V tých stringoch máš rovnaký obsah, len ich spájaš mierne odlišným spôsobom, ale to by nemalo robiť rozdiely.

Ja to mám takto:

$header  = "From: Odosielateľ Pomenovaný <odosielate.pomenovany@gmail.com>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=\"utf-8\"\r\n";

if (!mail($to, $subject, $content, $header)) {
    // spracovanie chyby
}

HTML funguje.

Nahoru Odpovědět 29. května 14:46
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Eda Stehlík
Člen
Avatar
Odpovídá na Matúš Petrofčík
Eda Stehlík:

Mě to totiž ignorovalo ty dva řádky s $header .= (Nevím z jakého důvodu)Když jsem to pak dal na jednu lajnu už to fungovalo!

Editováno 29. května 14:55
 
Nahoru Odpovědět 29. května 14:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.