اشکال در دریافت بدنه ایمیل فارسی

barbodben

New Member
سلام
من یک کد ارسال ایمیل دارم که وقتی فارسی مینویسم در داخل بدنه ایمیلم به صورت Ù¾Ù€ÛŒØ§ÙØ´€§ تبدیل میشه.
پیوست:
1- هاستی که روش کار میکنم مجانی نیست.
2- فایل PHP رو بصورت utf-8 ذخیره کردم
حالا کسی میدونه باید به کجای این چه کدی اضافه کنم؟:

PHP:
<?php
$EmailFrom = "[email protected]";
$EmailTo = "[email protected]";
$Subject = "عنوان دلخواه";
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 
// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
 

Milad

Well-Known Member
اینو تست کن :

PHP:
<?php
$EmailFrom = "[email protected]";
$EmailTo = "[email protected]";
$Subject = "عنوان دلخواه";
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 
// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

//headers
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=utf-8" . "\r\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, $headers");
// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
 

barbodben

New Member
نه متاسفانه جواب نداد ، یعنی اینجوری بگم که دیگه اصلا هیچی فرستاده نمیشه حتی انگلیسی.:-?
درضمن تو خط 9می از پایین بعد از headers$ یک علامت " وجود داره، البته من اونو برداشتم و هم دوسمت headers$ گذاشتم ولی فایده ای نداشت. و فکر میکنم در این کد دوم از وقتی که "<From: <$EmailFrom" برداشته شد دیگه کلا نمیفرسته.
 

barbodben

New Member
جناب Roxeta اون علامت " و دستور شرطی success$ رو برداشتم و بعدش درست شد ولی الان مشکلش اینکه تمام متنو پشت سر هم مینویسه ، اینجوری:



Name: نامEmail: ايميلMessage: بدنه نامه
در صورتی که قبلا اینجوریبود:
Name: name111
Email: email222
Message: message333


Asirap عزیز اسکریپ و سایت شما هم خیلی معرکه بود , خیلی از مشکلام حل شد. :rose::oops:
 

Milad

Well-Known Member
به جای :

PHP:
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
از این استفاده کنید :

PHP:
$Body="Name : $Name <br> \n 
        Email : $Email <br> \n 
        Message : $Message \n";
موفق باشی
 

barbodben

New Member
رکستا جون ایشالا خیر از جوونیت ببینی :oops:
دست شما درد نکنه ، کسی به شما بد نکنه:oops:
:) :rose: :oops:

ببخشید که این شکلکا بیان کننده کامل احساسات من نیست
 

جدیدترین ارسال ها

بالا