【发布时间】:2016-11-20 20:28:56
【问题描述】:
我有一个 PHP 表单,我正在使用 PHPmailer 将其发送到我的 gmail 帐户。 最近我在使用希伯来语的消息时遇到了几个问题,我在收件箱attached example 中收到了乱码。 我现在怀疑这是长度问题,但我找不到限制或限制的原因。 **只有希伯来语被打乱了!英语保持不变。
<?php
error_reporting(0);
require_once('phpmailer/class.phpmailer.php');
$email = 'myname@gmail.com';
$subject = 'New Point Added';
$from = "autosender@mywebsite";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="iso-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php if(isset($_POST['submit'])){
$msg = "שם המטייל/ת:<br> ".$_POST['hiker']."<br />";
$msg .= "מדינה: <br>".$_POST['country']."<br />";
$msg .= "חודש ושנה:<br> ".$_POST['dob']."<br />";
$msg .= "סוג:<br> ".$_POST['point']."<br />";
$msg .= "שם המקום:<br> ".$_POST['place']."<br />";
$msg .= "תיאור:<br> ".$_POST['description']."<br />";
$msg .= "מחיר:<br> ".$_POST['price']."<br />";
$msg .= "איך להגיע:<br> ".$_POST['howtoget']."<br />";
$msg .= "חוויות אישיות:<br> ".$_POST['personalexp']."<br />";
$msg .= "מיקום במפה:<br> ".$_POST['latitude']."";
$msg .= ",".$_POST['longitude']."<br />";
$headers = "From: $from" . "\r";
$headers .= "MIME-Version: 1.0" . "\r";
$headers .= "Content-type: text/plain; charset=ISO-8859-1";
$mail = new PHPMailer();
$mail->From = $from;
$mail->FromName = $from;
$mail->Subject = $subject;
$mail->Body = $msg;
$mail->AddAddress($email);
$mail->IsHTML(true);
$mail->headers = $headers;
if(isset($_FILES['file'])){
$file_to_attach = $_FILES["file"]["tmp_name"];
$mail->AddAttachment($file_to_attach , $_POST['hiker'].'-'.date('U').'-'.basename($_FILES["file"]["name"]));
}
$mail->Send();
//mail($email,$subject,$msg,$headers);
?>
【问题讨论】:
-
你试过 utf-8 成为标准吗?
-
是的,我以前的版本是 UTF-8,但效果不佳...
-
你不会在 PHPMailer 中设置这样的标题 - 阅读文档!查看您收到的消息的来源,您会发现它已经为您完成了。
-
您的代码基于一个过时的示例,因此请确保您使用的是the latest version of PHPMailer。