PHP HTML E-Mail не отправит из-за одинакового символа какие-либо идеи? - PullRequest
1 голос
/ 16 марта 2012

Я использую следующие заголовки

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

Когда я пытаюсь отформатировать свое сообщение в html, оно прекрасно работает, пока я не добавлю знак "=" (для определения классов и ссылок), когда скрипт выполняется, по какой-то причине происходит сбой и электронное письмо никогда не отправляется.

Есть идеи?

Редактировать Кто-то спросил код

$mysubject = "XXXXXXXXX"; 
$greeting = "Dear ".$x.","."<br><br>" ;    


$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: X <x@x.com>';

$message = "
<h2>My Heading</h2>
<b>information here about what I want to say.</b>
<br><br>
<b>title: </b>".$myvar."
<br><br>
<b>title2: </b><a href=\"test.com\" >my test</a>
<br><br>";

$close = "<br><br>Thanks, "."<br><br>"."XX"."<br><br>"."http://x.com" ;

// mail function
mail($email.',',$mysubject, $greeting.$message.$close,$headers);

1 Ответ

2 голосов
/ 16 марта 2012

Вы должны выбрать (и понять) a Content-Transfer-Encoding:

http://en.wikipedia.org/wiki/Quoted-printable говорит:

QP работает, используя знак равенства "="побег персонажа.Он также ограничивает длину строки до 76, так как некоторые программы имеют ограничения по длине строки.

Например, из электронного письма, он имеет как кодировку, так и определенную кодировку.Символ = кодируется в =3D, пунктирные линии заканчиваются закрытием =:

Content-Type: text/html; charset="ISO-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm=
l4/strict.dtd">
<html>
<head>
<title>WWF h=EDrlev=E9l</title>
<meta http-equiv=3D"content-type" content=3D"text/htm; charset=3DISO-8859-2=
" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...