Autor Zpráva
Jupíí
Profil
Ahoj mám problém Udělal jsem si formulář na odesílání z vebu pomocí php, ale email který mi přije má místo čárek a háčků otazníky nevíte jak se to dá napravit???
kletely
Profil
Jupíí
Máš nastavené kodovanie?
Jupíí
Profil
ano mám to v hlavičce

<meta http-equiv="content-type" content="text/html; charset=windows-1250">
Měsíček
Profil
Jaké je kódování souboru? (nemyslím META tagu to jsou dvě odlišné věci.)
kletely
Profil
Jupíí
Ale vo funkci mail() asni nie že.
Jupíí
Profil
Měsíček

Tomu nerozumím to sem asi nedělal kde to zjistím ?
kletely
Profil
Jupíí
HLADANÍM rieši sa to tu furt.
Jupíí
Profil
Mám to takto kletely asi ne
Mail("ay@email.cz", $text, $info, "From: " . $odesilatel  );

Jak to tam dám ? a hlavně co
Měsíček
Profil
Takový pěkný příklad:

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?> 


ta označená část by se měla zhodovat s META tagem (<meta ...>) a také s kódováním souboru jako takového (tedy jak ho ukládáš jako UTF-8 nebo ... probírá se to tu několikrát do měsíce zapátrej ve starších tématech).
Jupíí
Profil
Když to udělám takto tak to stejně nejde

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>

<?
$otazka = $_POST['otazka'];
$text = $_POST['text'];
$info = $_POST['info'];
$odesilatel = $_POST['odesilatel'];

$headers .= 'Content-type: text/html; charset=windows-1250' . "\r\n";

if ($otazka=="1")
{
Mail("budry@email.cz", $text, $info, "From: " . $odesilatel  );
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
} 
?>

</body>
</html>
kletely
Profil
Jupíí
lebo si to tam nedal.
$headers = 'Content-type: text/html; charset=windows-1250' . "\r\n";
Mail("budry@email.cz", $text, $info, "From: " . $odesilatel . $headers);
Měsíček
Profil
Ne neudělal jsi to stejně $headers je proměnná ve které je hlavička nemůžeš to tam jen tak prcnout, jestli začneš přemýšlet a uvidím, že se snažíš tak ti to možná i komplet napíšu :o)
Jupíí
Profil
Ty otazníky jsou jen v přednětu zprávy
Jupíí
Profil
už mi to funguje děkuji a nedá se nějak říci že se to mám v tom emailu pomocí \n nebo <br> dát na další řádek nová věta?
Hooonza
Profil
Ty otazníky jsou jen v přednětu zprávy
Myslím, že předmět mailu je potřeba zakódovat zvlášť (ale spíš v quoted-printable).
Hooonza
Profil
Myslím, že předmět mailu je potřeba zakódovat zvlášť
Když už jsme u toho, myslíte, že funkce mb_encode_mimeheader může nějak pracovat s windows-1250, nebo je pro tohle kódování nepoužitelná? Aha, zjistit se to dá tady. Zato iconv_mime_encode windows 1250 zvládá, stačí dát vstupní a výstupní kódování stejné. imap_8bit se dá použít i na PHP 4 (otestoval jsem poznámku funkci, kterou napsal roman, 11.2.2007.)

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: