Форма электронной почты PHP - некоторые получают HTML, другие получают обычный текст - PullRequest
0 голосов
/ 24 марта 2011

Я пытался выяснить это некоторое время.Некоторые пользователи получают это электронное письмо (через форму Flash), отправленное в виде обычного текста, а другие - в полном HTML (как и должно быть).

Кто-нибудь знает, почему это происходит, все, что я мог бы исправить здесь, и убедитесь, что этовсегда отображаться в HTML все время?

<?php
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
   if(empty($_POST['senderEmail'])){
   echo"no email address found";
   exit;
}
$senderName = $_POST['senderName'];
$senderEmail = $_POST['senderEmail'];
$senderPhone = $_POST['senderPhone'];
$senderMsg = nl2br($_POST['senderMsg']);
$sitename = "somesite";
$to_myself = "myemail";
$to_visitor = $_POST['senderEmail'];
$ToName = "somename";
$date = date("m/d/Y H:i:s");
$ToSubject = "Email From $senderName via $sitename";
$comments = $msgPost;

$EmailBody = "A visitor to $sitename has left the following information<br />
Sent By: $senderName<br />
Email: $senderEmail<br />
Phone: $senderPhone
<br /><br />
Message Sent:
<br />$senderMsg<br />";

$EmailBody_visitor = "You have just left the following information at $sitename <br />
Sent By: $senderName<br />
Email: $senderEmail<br />
Phone: $senderPhone
<br /><br />
Message Sent:
<br />$senderMsg<br />";  

$EmailFooter = "<br />Sent: $date<br /><br />";
$Message = $EmailBody.$EmailFooter;
$Message_visitor = $EmailBody_visitor.$EmailFooter;

$ok = mail($to_myself, $ToSubject, $Message, $headers . "From:$senderName <".$senderEmail.">");
$ok = mail($to_visitor, $ToSubject, $Message_visitor, $headers . "From:$sitename <".$to_myself.">");

if($ok){ 
echo "retval=1";
}else{ 
echo "retval=0";
}

?> 

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Это прежде всего проблема почтового клиента.Большинство современных почтовых программ могут конвертировать HTML-письма в открытый текст, и, если это предпочтительный формат пользователя, подойдет.

Этому способствуют ваши письма, не являющиеся полными HTML-документами.Вы используете только несколько <br> тегов, а не полный <html> документ.Вы должны использовать полный шаблон HTML-страницы.(См. http://articles.sitepoint.com/article/code-html-email-newsletters для некоторого обзора.)

В-третьих, который вы не просили, ваш сценарий может использоваться для рассылки спама.В вашем коде нет видимой защиты с помощью капчи, и получатель имеет полностью свободную форму.Использование этого через Flash-форму обеспечивает некоторую неясность, но не обеспечивает долговременную защиту.

0 голосов
/ 24 марта 2011

я бы не использовалв вашей электронной почте, так как многие старые почтовые клиенты не распознают это действительные теги.Также было бы весьма полезно увидеть необработанное письмо после отправки.Там может быть что-то интересное, что там более заметно.

...