通过php邮件发送到hotmail电子邮件的阿拉伯文字符串,在hotmail电子邮件中查看时会在中以奇怪的符号显示
yahoo mail似乎能够显示使用$\u Post的变量以及未使用此方法声明的变量 但在hotmail中,电子邮件中只显示未声明$u Post的变量 我试图在php和html页面中都包含通过php邮件发送到hotmail电子邮件的阿拉伯文字符串,在hotmail电子邮件中查看时会在中以奇怪的符号显示,php,html,email,Php,Html,Email,yahoo mail似乎能够显示使用$\u Post的变量以及未使用此方法声明的变量 但在hotmail中,电子邮件中只显示未声明$u Post的变量 我试图在php和html页面中都包含,但没有成功 下面的文本是发送到hotmail的电子邮件 المرسل الاسم: بشار التعليق:هذا ت
,但没有成功
下面的文本是发送到hotmail的电子邮件
المرسل
الاسم: بشار التعليق:هذا تعليق
下面是php代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> php file</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body dir="rtl">
<?php
$fname= $_POST['firstName'];
$lname= $_POST['lastName'];
$email= $_POST['email'];
$comment=$_POST['comment'];
$from = "المرسل ";
$msg = "الاسم: $fname\n"."التعليق:$comment\n";
$subject= "Visitor comment";
$to= "example@hotmail.com";
mail($to,$subject,$msg, $from);
?>
</body>
</html>
php文件
您能指出可能存在的问题吗?标题(如from)应根据
此外,您还需要电子邮件正文
如果您想在电子邮件正文中使用ASCII以外的任何内容
我不知道有什么简单的方法可以很好地做到这一点,但是如果你对这些术语进行搜索,有很多简单的代码可以解决整个问题空间的子集
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
$\u Post正在使用的html文件的
标记之间
瓦莱什·瓦哈德(zy sa7eb elta3lekat fo2 ynaked 3 LEK;-) 这可能是因为电子邮件不支持unicode字符,尤其是阿拉伯语,不如日语或俄语广泛支持,因此您必须更改格式才能正确显示。此外,阿拉伯语是从右向左读的,不像英语。这与
$\u POST
无关。这是一个简单的变量,除了它是一个超全局变量外,没有什么神奇之处。您的问题在于标题内部的编码以及对mail()
函数的错误使用。我建议您看看该函数的文档。作为第四个参数,需要一个标头数组“المسل”
当然不是数组,也不是电子邮件的有效标题条目。您应该了解电子邮件的实际组成方式。@arkascha由于某些原因,使用$\u Post声明的变量没有正确发送到hotmail电子邮件。我也怀疑它是否存在问题,因为当我向雅虎发送电子邮件时,它确实会将表单数据传输到我的脚本中。您是否费心检查文档?你有没有看过电子邮件是如何在内部编码的?我对此表示怀疑。你期待奇迹发生。这是行不通的。PHP是一种简单的脚本语言。我们这里说的是弦。不是魔法。@arkascha我希望有人能指出问题所在,这样我就可以查出来了。不是在寻找简单的方法。对不起,我不是这样做的吗?我多次建议您查看文档。你还想在别的什么地方“查一查”?1.您必须修复如何使用mail()
函数,您违反了它的签名和2。您必须了解电子邮件实际上是如何在内部编写的。这方面的一个良好开端是阅读文档,或者简单地查看您收到的现有电子邮件的源代码。尤其是包含阿拉伯字符的邮件。当然,电子邮件可以包含UTF序列。