PHP levélküldő UTF-8 kódolásban, hogyan?
PHP mail() nem hajlandó UTF-8 levelet küldeni...
<?php
header("Content-Type: text/html; charset=utf-8"); -> már írtam de nem támogat...
?>
<?php
$mailto = 'valami@valami.hu' ;
$subject = "tárgy" ;
$formurl = " [link] ;
$errorurl = " [link] ;
$email_is_required = 1;
$name_is_required = 1;
$comments_is_required = 1;
$uself = 0;
$use_envsender = 0;
$use_sendmailfrom = 0;
$smtp_server_win = '' ;
$use_webmaster_email_for_from = 0;
$use_utf8 = 1;
$my_recaptcha_private_key = '' ;
define( 'MAX_LINE_LENGTH', 998 );
$headersep = (!isset( $uself ) || !$uself) ? "\r\n" : "\n" ;
$content_type = (!isset( $use_utf8 ) || ($use_utf8 == 0)) ? 'Content-Type: text/plain; charset="iso-8859-2"' : 'Content-Type: text/plain; charset="utf-8"' ;
if (!isset( $use_envsender )) { $use_envsender = 0 ; }
if (isset( $use_sendmailfrom ) && $use_sendmailfrom) {
ini_set( 'sendmail_from', $mailto );
}
if (isset( $smtp_server_win ) && strlen($smtp_server_win)) {
ini_set( 'SMTP', $smtp_server_win );
}
$envsender = "-f$mailto" ;
$fullname = (isset($_POST['fullname']))? $_POST['fullname'] : $_POST['name'] ;
$email = $_POST['email'] ;
$comments = $_POST['comments'] ;
$http_referrer = getenv( "HTTP_REFERER" );
$envsender = iconv("ISO-8859-2", "UTF-8", $envsender);
$email = iconv("ISO-8859-2", "UTF-8", $email);
$fullname = iconv("ISO-8859-2", "UTF-8", $fullname);
$comments = iconv("ISO-8859-2", "UTF-8", $comments);
if (!isset($_POST['email'])) {
header( "Location: $formurl" );
exit ;
}
if (($email_is_required && (empty($email) || !preg_match('/@/', $email))) || ($name_is_required && empty($fullname)) || ($comments_is_required && empty($comments))) {
header( "Location: $errorurl" );
exit ;
}
if (preg_match( "/[\r\n]/", $fullname ) || preg_match( "/[\r\n]/", $email ) ) {
header( "Location: $errorurl" );
exit ;
}
if (strlen( $my_recaptcha_private_key )) {
require_once( 'recaptchalib.php' );
$resp = recaptcha_check_answer ( $my_recaptcha_private_key, $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field'] );
if (!$resp->is_valid) {
header( "Location: $errorurl" );
exit ;
}
}
if (empty($email)) {
$email = $mailto ;
}
$fromemail = (!isset( $use_webmaster_email_for_from ) || ($use_webmaster_email_for_from == 0)) ? $email : $mailto ;
if (function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc()) {
$comments = stripslashes( $comments );
}
$messageproper =
//"This message was sent from:\n" .
//"$http_referrer\n" .
//"------------------------------------------------------------\n" .
"Név: $fullname\n" .
"Email: $email\n" .
"Üzenet: \n" .
wordwrap( $comments, MAX_LINE_LENGTH, "\n", true ) .
"\n" ;
$headers =
"From: \"$fullname\" <$fromemail>" . $headersep . "Reply-To: \"$fullname\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.16.1" .
$headersep . 'MIME-Version: 1.0' . $headersep . $content_type ;
if ($use_envsender) {
mail($mailto, $subject, $messageproper, $headers, $envsender );
}
else {
mail($mailto, $subject, $messageproper, $headers );
}
$theResults = <<<EOD
<html>
<head>
<title>Üzeneted elküldve! Köszönjük!</title>
<meta http-equiv="refresh" content="3;URL= [link]
<style type="text/css">
<!--
body {
background-color: #444;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 20px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #fec001;
text-decoration: none;
width: 800px;
}
-->
</style>
</head>
<div>Üzeneted elküldve! Köszönjük!</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>
-------------------------------------------
Megkaptam a levelet. Eredmény:
Fejléc - > Minta Ăva - tárgy /"Ă" az baj mert nincs étkezés/
Nv: Minta Éva /nincs "é" betű/
Email: minta@gmail.com
zenet: /nincs "Ü" betű/
Próba. Teszt.
Mi a teendő? Tudná segíteni?
Itt írják, hogy ne használd a "header()"-t:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!