PHP Mail Karakterkódolás
Sziasztok!
Lenne egy müködő php mail küldő kódom. Annyi vele csak a baj, mikor elküldöm a levelet és van benne ékezet akkor kriksz kraxok lesznek az ékezetek helyett. pl:ÜßßóúĹĂŠĂĄĹąĂ
Mit hagyhattam ki és honnan?
A kód:Előre is köszönöm a segítségeteket!
■ Lenne egy müködő php mail küldő kódom. Annyi vele csak a baj, mikor elküldöm a levelet és van benne ékezet akkor kriksz kraxok lesznek az ékezetek helyett. pl:ÜßßóúĹĂŠĂĄĹąĂ
Mit hagyhattam ki és honnan?
A kód:
- <?php
- if(isset($_POST['submit'])) {
- error_reporting(E_NOTICE);
- function valid_email($str)
- {
- return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
- }
- if($_POST['name']!='' && $_POST['email']!='' && valid_email($_POST['email'])==TRUE && strlen($_POST['comment'])>1)
- {
- $to = preg_replace("([\r\n])", "", hexstr($_POST['receiver']));
- $from = preg_replace("([\r\n])", "", $_POST['email']);
- $subject = "Üzenet az oldalrol: ".$_POST['name'];
- $message = $_POST['comment'];
- $match = "/(bcc:|cc:|content\-type:)/i";
- if (preg_match($match, $to) ||
- preg_match($match, $from) ||
- preg_match($match, $message)) {
- die("Header injection detected.");
- }
- $headers = "From: ".$from."\r\n";
- $headers .= "Reply-to: ".$from."\r\n";
- if(mail($to, $subject, $message, $headers))
- {
- echo 1; //SUCCESS
- }
- else {
- echo 2; //FAILURE - server failure
- }
- }
- else {
- echo 3; //FAILURE - not valid email
- }
- }else{
- die("Direct access not allowed!");
- }
- function hexstr($hexstr) {
- $hexstr = str_replace(' ', '', $hexstr);
- $hexstr = str_replace('\x', '', $hexstr);
- $retstr = pack('H*', $hexstr);
- return $retstr;
- }
- ?>
Osztály
Gyors piszkálás: a fenti
Megvan a megoldás.
Nagyon szépen köszönöm a hozzászólásotokat! A te megoldásod tökéletes és működik! Mégegyszer nagyon szépen köszönöm a segítséget mind a kettötöknek!