Autor Zpráva
tomas2245
Profil
Zdravím, mám objednávku spravenú cez HTML proste ktorá mi príde na mail...
Potreboval by som ale spraviť že na zadaný mail ktorý vyplní pri objednávke sa automaticky odošle správa, že potvrdzujem príjem objednávky aj s logom.
A dá sa to tak spraviť aby im to nechodilo do SPAM-u?

Vďaka :)
Marschmallow
Profil
tomas2245:
aby im to nechodilo do SPAM-u?
Jaký používáš hosting, nejsi náhodnou zapsaný na nějakém SPAM listu?
tomas2245
Profil
active24 pokiaľ myslíš hosting servera na ktorej mám svoju stránku uploadnutú..
ale nie všetkým to tam chodí možno pár ľudom..


vedeli by ste niekto ten kód navrhnúť ? :)
Marschmallow
Profil
tomas2245:
Nejdříve by to chtělo zajistit správnou podporu diakritiky v UTF-8, například pomocí funkce od Davida Grudla:
<?php
function autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // 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".PHP_EOL;
    $head .= "Content-Type: text/plain; charset=\"utf-8\"".PHP_EOL;
    $head .= "Content-Transfer-Encoding: base64".PHP_EOL;
    $zprava = wordwrap(base64_encode(autoUTF($zprava)), 78, PHP_EOL, true);
    return mail($to, $predmet, $zprava, $head);
}

A potom jenom jednoduše odešleme e-mail s českou diakritikou:
$mail = $_POST['mail']; //Email získaný z formuláře, například pomocí metody POST
$predmet = 'Objednávka potvrzena'; //Předmět emailu
$zprava = 'Vaše objednávka byla úspěšně odeslána a potvrzujeme její přijetí. Děkujeme za Váš nákup.'; //Text emailu
 
if (cs_mail($mail, $predmet, $zprava, "From: vas@web.cz".PHP_EOL))
{
    echo 'Objednávka potvrzena.<br>';
}
else
{
    echo 'Objednávku se nepodařilo odeslat..<br>';
}
?>

A tohle všechno vlož do jednoho souboru. Více také najdeš ve FAQ naší diskuse.
tomas2245
Profil
a logo by sa tam dalo do tej správy pridať? proste obrázok...
lionel messi
Profil
tomas2245:
a logo by sa tam dalo do tej správy pridať? proste obrázok...
Samozrejme. Je potrebné nastaviť správny Content-type v hlavičke a HTML vložené do správy sa spracuje (môžeš použiť aj CSS, samozrejme, pozor na správne uvedenú cestu obrázku).

$mail = $_POST['mail']; //Email získaný z formuláře, například pomocí metody POST
$predmet = 'Objednávka potvrzena'; //Předmět emailu
$zprava = '<img src="obrazek.jpg"> Vaše objednávka byla úspěšně odeslána a potvrzujeme její přijetí. Děkujeme za Váš nákup.'; //Text emailu
$hlavicky = "Content-type: text/html" .PHP_EOL;
$hlavicky .= "From: vas@web.cz" .PHP_EOL;
 
if (cs_mail($mail, $predmet, $zprava, $hlavicky))
{
    echo 'Objednávka potvrzena.<br>';
}
else
{
    echo 'Objednávku se nepodařilo odeslat..<br>';
}
tomas2245
Profil
lionel messi:
Ďakujem :) vyskúšam to


dal som tam správnu cestu obrázku ale proste nezobrazi sa mi čím to je?



lionel messi:

a dá sa nastaviť aby im to nechodilo do SPAMU?
tomas2245
Profil
$mail_to      = 'mail@';
$mail_subject = 'OBJEDNAVKA';
$headers = 'From: '.$email.'' . "\r\n" .
    'Reply-To: '.$email.'' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($mail_to, $mail_subject, $text, $headers);


ako mam toto dat aby som mohol upravovat text?
to je kod ktory mi robi to ze mi objednavka pride na mail a ja chcem to meno a tak zvyraznit... <b>meno</b>
Marschmallow
Profil
tomas2245:
Kde máš definovanou proměnnou $text? Pokud nemáš, tak do ni vlož ten obsah, co má být obsahem mailu. To znamená:
$text = 'Objednávka č. <br> Jméno: <br>';...
tomas2245
Profil
Marschmallow:

$text=$_POST["text"];
$text="
Meno: $meno

takto mam.. ale do toho co som poslal prve kde mam dat tu hlavicku a content type lebo som to tam niekde dal a mi to dalo chybu mozes mi to preposlat prosim ťa?... :)

Moderátor juriad: Tvůj projev je špatně srozumitelný, piš prosím s interpunkcí a diakritikou.
tomas2245
Profil
Marschmallow:



$text=$_POST["text"];
$text="
Meno: $meno
takto to mám napísané.. ale do tohoto:


$mail_to      = 'mail@';
$mail_subject = 'OBJEDNAVKA';
$headers = 'From: '.$email.'' . "\r\n" .
    'Reply-To: '.$email.'' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
mail($mail_to, $mail_subject, $text, $headers);

kde mám dať tú hlavičku a content type lebo som to tam niekde dal a mi to dalo chybu môžeš mi to preposlať prosím ťa?... :)

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: