>yahoo mail似乎能够显示使用$_Post的变量以及不使用此方法声明的变量但是在hotmail中,只有声明的没有$_Post的变量才会显示在电子邮件中
我试图在 php 和 html 页面中包含<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
但没有成功
下面的文本是发送到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>
你能指出可能的问题是什么吗?
标头(如from)应根据RFC-2048进行格式化
此外,您还需要对电子邮件正文进行MIME编码如果要在电子邮件正文中使用 ASCII 以外的任何内容
我不知道有什么简单的方法可以很好地做到这一点,但是如果你对这些术语进行搜索,有很多简单的代码可以解决整个问题空间的子集
插入
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
$_Post 正在使用的 HTML 文件的<head>
标记之间
W T5alesh wa7AD 3rs zy sa7eb elta3lekat fo2 ynaked 3alek ;-)
这可能是电子邮件
不支持 unicode charecters,特别是阿拉伯语不像日语或俄语那样得到广泛支持,因此您必须更改格式才能使其正确显示。此外,与英语不同,阿拉伯语是从右到左阅读的。