PHP mail - prosím o kontrolu kódu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Luke608
nováček
Příspěvky: 42
Registrován: 09 lis 2006 17:23

PHP mail - prosím o kontrolu kódu

Příspěvek od Luke608 »

Ahoj lidi.
Rozchodil jsem posílání mailů, ovšem mám problém s předmětem. Za předmět napsaný v tom formuláři se přidá MIME-Version: 1.0 takže ve výsledku to vypadá nejakypredmetMIME-Version... Pokud se nepletu tak je to část obsahu co má být v hlavičce, ale jak se tam dostal?
Nevíte někdo jak se toho zbavit? Použil jsem odesílací skript z jakpsatweb.cz a zakomponoval jsem ho do svého formuláře. Pro jistotu přikládám i ten formulář pro korekci. Moc php neumím a tak budu rád za rady. Děkuju moc.

Kontaktní formulář:

Kód: Vybrat vše

<form action="../skripty/mail.php" method="post">
Váš mail: <input name="odesilatel" size="20"><br>
Příjemce: <select name=komu><option value="neco@nekde">tech. podpora</option><option value="nic">nekdo</option></select>
Předmět: <input name="predmet" size="40"><br>
Zpráva: <textarea name="zprava" rows="4" cols="15"></textarea><br>
<input type="submit" value="Odeslat">
</form>


Obsah mail.php:

Kód: Vybrat vše

<?php
/* *************** diskuse.jakpsatweb.cz *** PHP FAQ ********************** */
function autoUTF($s)
{
    // detect UTF-8
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
        return $s;
    // detect WINDOWS-1250
    if (preg_match('#[\x7F-\x9F\xBC]#', $s))
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    // assume ISO-8859-2
    return iconv('ISO-8859-2', 'UTF-8', $s);
}

function cs_mail ($to, $predmet, $zprava, $head = "")
       {  $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
          $head .= "MIME-Version: 1.0\n";
          $head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
          $head .= "Content-Transfer-Encoding: base64\n";
          $zprava = base64_encode (autoUTF ($zprava));
          return mail ($to, $predmet, $zprava, $head); }
/* ********************************************************************** **  */
$predmet = $_POST['predmet'];
$zprava = $_POST['zprava'];
$komu = $_POST['komu'];
$odesilatel = $_POST['odesilatel'];
$from = "From: $odesilatel";
$mail = $komu;
$kon = cs_mail ($mail, $predmet, $zprava, $from);

if ($kon)
  echo "E-mail byl úspěšně odeslán.<br>";
 else
  echo "E-mail se bohužel nepodařilo odeslat.<br>";
?>
Luboš
Tvůrce článků
Příspěvky: 2038
Registrován: 13 kvě 2005 07:14

Re: PHP mail - prosím o kontrolu kódu

Příspěvek od Luboš »

Možná ti pomůže tento příspěvek z tohoto fóra.
Potřebujete jinou pomoc při řešení problému ve Windows 10? Stáhněte si soubor Win10-finty.
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Prosím o kontrolu sestavy
    od user158 » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    3488 Zobrazení
    Poslední příspěvek od Alferi
  • Prosím o posouzení sestavy
    od CROS » » v Rady s výběrem hw a sestavením PC
    6 Odpovědi
    8891 Zobrazení
    Poslední příspěvek od Alferi
  • PC nenaběhl - prosím o rady
    od michal84 » » v Problémy s hardwarem
    5 Odpovědi
    3426 Zobrazení
    Poslední příspěvek od michal84
  • Prosím o radu se sestavením pc
    od Patrik54321 » » v Rady s výběrem hw a sestavením PC
    5 Odpovědi
    2741 Zobrazení
    Poslední příspěvek od Patrik54321
  • Prosím o pomoc - Sestava na hry do 20tis
    od jxdm97 » » v Rady s výběrem hw a sestavením PC
    5 Odpovědi
    712 Zobrazení
    Poslední příspěvek od meda2016

Zpět na „Programování a tvorba webu“