Diskuze: PHP Email v Bootstrap šabloně
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Takto se budeš muset pachtit s věcmi jako content-transfer-encoding, doporučuji použít nějakou knihovnu. Já mám dobrou zkušenost s PhpMailerem.
php.net/mail
function mailSend($mail)
{
$head = array();
$head[] = "From: ".$mail['from'];
$head[] = "X-Mailer: PHP"; // mailovy klient
$head[] = "Return-Path: ".$mail['from']; // navratová cesta pro chyby
$head[] = "Reply-To: ".$mail['from'];
$head[] = "MIME-Version: 1.0"; // mime type
$head[] = "Content-Type: text/html; charset=UTF-8"; // HTML format 1
$head[] = "Content-Transfer-Encoding: 8bit";
$head = implode("\r\n",$head);
$mail['subject'] = "=?UTF-8?B?" . base64_encode($mail['subject']) . "?=";
$d = date("Y-m-d H:i:s",time());
/*
$browser = @get_browser(null, true);
$mail['message'] .= "\n\n";
if ($browser)
{
$mail['message'] .= implode(", ", array(
'Date'.": ".$d,
'platform'.": ".$browser['platform'],
'browser'.": ".$browser['browser'],
'version'.": ".$browser['version'],
isset($browser['parent']) ? 'parent'.": ".$browser['parent'] : ''
));
}
*/
$mail['message'] .= "\n".'ip'.": ".getIp();
$mail['message'] = nl2br($mail['message']); // HTML format 2
//echo '<pre>'; var_dump($mail); echo '</pre>';
ini_set("SMTP", "smtp.muj_server.cz"); // mailovy server (slu funguje jen na slu strankach)
$bool = false;
$bool = mail($mail['to'], $mail['subject'], $mail['message'], $head);
if ($bool)
{fce_notice('Mail odeslan. '.$d, '');}
else {fce_notice('Mail error! '.$d, true);}
return $bool;
}
Stačí jednoduše použít http://php.net/…end-mail.php (nechápu proč každý
používá mail()
) ... a v header mít minimálně
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=\"utf-8\"\n";
To nestaci. Spousta mailovacich programu kodovani nerozumi spravne. Pri trose
stesti ti body zkoduje do utf-8, ale subject treba zobrazi jako latin-1.
Navic, spousta programu ignoruje mail, pokud nema vyplnene dalsi hlavicky.
Zobrazeno 5 zpráv z 5.