0

问题在于制作漂亮的 html 联系表单设计,以及接受用户通过 html 表格而不是纯文本邮件发送邮件的问题

这是我正在使用的代码这是我在 php 上的第一个工作,如果我使用基于 Web 的邮件帐户 (gmail),它工作正常

虽然如果我将 recipent 移动到另一个帐户(到我的客户域 - 电子邮件帐户),那么它会接受一个无法识别的字符而不是 ??????? 但类似的东西

זוהי ×¤× ×™×” בקשר לבדיקת מייל × ×•×¡

正如我通过浏览器在gmail中所说的那样,尽管在这种情况下的语言是希伯来语,但它是完美的,正如您可以在下面的主题或正文中的代码中看到的那样

此代码中缺少什么,因此不仅可以在 gmail 网络邮件中使用吗?

<?php
$field_name = $_POST['sender_name'];
$field_telephon = $_POST['sender_telephon'];
$field_email = $_POST['sender_mail'];
$field_Subject = $_POST['sender_Subject'];
$field_message = $_POST['sender_message'];
$StrDivOpen = "<div dir='rtl'>";
$StrDivClose = "</div>";
$StrTableOpen = "<table border='1' style='width:260px; font-family:Arial;'>";
$StrTableClose = "</table>";
$StrTrOpen ="<tr>";
$StrTdOpenHd = "<td style='background-color:#fcf7da; width:100px;'>";
$StrTdOpenCont = "<td style='background-color:#dae3a5; width:130px;'>"; 
$StrTrClose="</tr>";
$StrTdClose="</td>";
$StrBr = "<br />";

$mail_to = 'v7host@gmail.com';
$subject = 'לקוח HostDns, בשם  : '.$field_name." , נושא:  ".$field_Subject;
$body_message = $StrDivOpen.$StrTableOpen;
$body_message .= $StrTrOpen.$StrTdOpenHd.'מאת  :  '.$StrTdClose.$StrTdOpenCont.$field_name.$StrTdClose.$StrTrClose;
$body_message .= $StrTrOpen.$StrTdOpenHd.'טלפון  :    '.$StrTdClose.$StrTdOpenCont.$field_telephon.$StrTdClose.$StrTrClose;
$body_message .= $StrTrOpen.$StrTdOpenHd.'כתובת מייל  :    '.$StrTdClose.$StrTdOpenCont.$field_email.$StrTdClose.$StrTrClose;

$body_message .= "<tr><td colspan=2 style='background-color:#1cbfbf;'>תוכן ההודעה  :    </td></tr><tr><td colspan=2 style='background-color:#81c3b2;'>".$StrBr.$field_message."</td></tr></table></div>";

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1";
$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Thanks for the post. We will contact you soon..');
        window.location = 'contact.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Sending failed. Please send an email to v7host@gmail.com');
        window.location = 'contact.html';
    </script>
<?php
}
?>
4

1 回答 1

1

您需要将编码更改为 UTF-8:

Content-type: text/html; charset=utf-8

您正在使用的当前编码 (ISO/IEC 8859-1) 无法处理来自非西方语言的字符。

于 2013-02-23T12:28:26.657 回答