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

Luke608
nováček
Příspěvky: 42
Registrován: listopad 06
Pohlaví: Muž
Stav:
Offline

PHP mail - prosím o kontrolu kódu

Příspěvekod Luke608 » 11 bře 2010 08:36

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>";
?>

Reklama
Luboš
Tvůrce článků
Level 5
Level 5
Příspěvky: 2038
Registrován: květen 05
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Luboš » 11 bře 2010 13:51

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.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Prosím o úpravu kódu. Děkuji *
    od junis » 09 črc 2024 18:05 » v Kancelářské balíky
    4
    4397
    od junis Zobrazit poslední příspěvek
    22 črc 2024 17:54
  • Prosím o kontrolu sestavy
    od user158 » 11 led 2025 15:07 » v Rady s výběrem hw a sestavením PC
    2
    1237
    od Alferi Zobrazit poslední příspěvek
    11 led 2025 17:38
  • PC nenaběhl - prosím o rady
    od michal84 » 05 dub 2025 23:00 » v Problémy s hardwarem
    5
    2345
    od michal84 Zobrazit poslední příspěvek
    07 dub 2025 10:11
  • Prosím o posouzení sestavy
    od CROS » 09 bře 2025 13:36 » v Rady s výběrem hw a sestavením PC
    6
    8090
    od Alferi Zobrazit poslední příspěvek
    10 bře 2025 18:05
  • Prosím o radu jak předělat PC
    od ruzi.jiri » 22 srp 2024 07:54 » v Rady s výběrem hw a sestavením PC
    8
    2432
    od Zivan Zobrazit poslední příspěvek
    23 srp 2024 12:10

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti