2013-01-23 40 views
1

我有反馈表格。我想发送HTML邮件中的内容。当用户输入阿拉伯字符时,它不显示正确。像تجرOO©用阿拉伯语支持发送电子邮件php

PHP代码:

function send_email($fromPerson, $fromEmail, $to, $subject, $message) { 
    $headers = "From: $fromPerson<$fromEmail> \n"; 
    $headers .= "Reply-To: $eMail \r\n"; 
    $headers .= "X-Mailer: PHP/". phpversion(); 
    $headers .= "X-Priority: 3 \n"; 
    $headers .= "MIME-version: 1.0\n"; 
    $headers .= "Content-Type: text/html; charset=UTF-8\n"; 
    $headers .= "Bcc:[email protected]\n"; 
    $msg=$message; 
    @mail($to, $subject, $msg, $headers); 

我试图直接从PHP代码发送阿拉伯文和它正确到达,有些东西一样$msg = "مثال";

的问题是当我提交反馈代码中的内容时。

<form name="feedb" method="post" action="subscribe.php" onsubmit="return validate_forms();"> 
    <input type="hidden" name="feedback_action" value="feed" /> 
    <div class="fr" style="width:378px;"> 
     <p class="white fs24 mb4">Give Us Your Valuable Feedback</p> 
     <input name="firstName" id="firstName" type="text" style=" background:#fff; padding:5px; border:none; width:174px; color:#000; font-size:13px;" value="Full Name" onfocus="if(this.value=='Full Name')this.value=''" onblur="if(this.value=='')this.value='Full Name'" /> 
     <input name="email" id="email" type="text" style=" background:#fff; padding:5px; border:none; width:174px; color:#000; font-size:13px; margin-left:5px;" value="Email ID" onfocus="if(this.value=='Email ID')this.value=''" onblur="if(this.value=='')this.value='Email ID'" /> 
     <div class="cb pb8"></div> 
     <textarea name="comments" id="comments" rows="3" cols="50" style=" background:#fff; padding:5px; border:none; width:366px; color:#000; font-size:13px;" onfocus="if(this.value=='Feedback')this.value=''" onblur="if(this.value=='')this.value='Feedback'">Feedback</textarea> 
     <div class="ar mt6"> 
     <input type="hidden" name="source" value="feedback" />  
     <input name="submit" type="image" src="images/sbmt.gif" /> 

     </div> 
    </div> 
    </form> 

请问,有什么想法吗?

+0

大部分时间,它更方便,更容易地使用现有的PHP的一个图书馆发送电子邮件 - 他们已经以正确的方式实施了这些案例(http://swiftmailer.org/,https://code.google.com/a/apache-extras.org/p/phpmailer/) –

+0

提交时使用'escape'关键字 – Tarika

回答

0

在HTML页面中添加此头标签:

<html> 
<head> 
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
</head> 
<body> 
<form name="feedb" method="post" action="subscribe.php"> 
... 
</form> 
</body> 
+0

我已经把这个meta标签放在头部 这一页。我现在在HTML表单中添加了另一个,并且我仍然有发送电子邮件的相同错误 – Kamal

+0

,此电子邮件与页面无关。所以你必须添加这个html-header到你的email-html($ msg) –

+0

我试过了。它不工作。我也尝试回复表单提交的POST变量,并显示与邮件相同的问题。 – Kamal

0
/** 
    * Simple UTF-8 mail sender function. This function also encode subject and 
    * plain-text message to UTF-8. If you need HTML mail sender, change the code 
    * in line 2 from text/plain to text/html, but this function is usable the 
    * most cases without any modification. 
    */ 

    function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') { 
     $_header = "MIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n"; 
     mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $_header . $header); 
    } 

欲了解更多信息,请查看本link

+0

Assalamu alikoom brorthor khaled.alshamaa,我播下你的网站(ar-php.org) 。你可以请在YouTube上做教程如何使用它?如果您需要任何帮助,请告诉我 - Jazak Allahu Khiran –