2011-03-24 4 views
0

나는 이것을 잠시 동안 알아 내려고 노력했습니다. 일부 사용자는 평범한 텍스트로 전송 된이 이메일 (플래시 양식을 통해)과 전체 HTML로 전송 된 이메일을받습니다.PHP 이메일 양식 - 일부는 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"; 
} 

?> 
+0

자동으로 픽업해야하는 HTML은 얼마입니까? – detonate

답변

0

나는 그 유효 태그입니다 인식하지 않습니다 많은 오래된 이메일 클라이언트로 이메일에
를 사용하지 않을 것입니다. 전송 된 후 원시 전자 메일을 보는 것도 매우 유용 할 것입니다. 재미있는 일이있을 수 있습니다.

1

메일 클라이언트 문제입니다. 현재의 대부분의 메일 프로그램은 HTML 메일을 일반 텍스트로 변환 할 수 있으며 사용자가 선호하는 형식 인 경우이를 수행합니다.

귀하의 메일은 완전한 html 문서가 아닙니다. 일부 <br> 태그 만 사용하면 전체 <html> 문서가 아닙니다. 완전한 html 페이지 템플리트를 사용해야합니다. (일부 개요는 http://articles.sitepoint.com/article/code-html-email-newsletters을 참조하십시오.)

세 번째로, 사용자가 요청하지 않은 스크립트는 스팸 발송을 위해 악용 될 수 있습니다. 코드에는 보이지 않는 보안 문자가 있으며받는 사람은 완전히 자유 형식입니다. 플래시 양식을 통해이를 사용하면 다소 모호하지만 장기간의 보호는 없습니다.