PHP 라인 브레이크는 작동하지 않는 것 같습니다
-
10-07-2019 - |
문제
Mail () 함수를 사용하여 메시지를 보내는 다음 코드가 있습니다. 각 라인의 끝에있는 라인 브레이크가 작동하지 않는 것을 제외하고는 모든 것이 잘 작동합니다. 보시다시피 나는 " r n"을 사용하고 있습니다. <br>
휴식을 취하기 위해서는 누군가에게 HTML 이메일 클라이언트가없는 경우에 사용하지 않습니다.
<?php
$to = 'user@example.com'; // Was a valid e-Mail address, see comment below
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
$content = 'Name: '.$name."\r\n";
$content .= 'Email: '.$email."\r\n";
$content .= 'Subject: '.$subject."\r\n";
$content .= 'Message: '.$message."\r\n";
$headers = 'MIME-Version: 1.0' ."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";
// Additional headers
$headers .= 'To: iVEC Help <help@ivec.com>'. "\r\n";
$headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";
mail( $to, $subject, $content, $headers);
?>
<p> You sent it ... good work buddy </p>
<p> <?php '$name' ?> </p>
해결책
당신은 그것을 HTML로 보내고 있습니다 - 콘텐츠 유형을 text/plain
그리고 작동해야합니다.
다른 팁
문제는 헤더에서 메일이 HTML 이메일이라고 말하는 것입니다.
$headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";
HTML 및 텍스트 클라이언트 모두로 컴퓨팅 성을 보장하려면 Multipart 컨텐츠 유형을 사용해보십시오. 이것은 여러 가지 방법으로 달성 될 수 있지만 간단한 방법 중 하나는이를 수행 할 수있는 라이브러리를 사용하는 것입니다. 예를 들어, 사용할 수 있습니다 배 : mail_mime
나는이 분야의 전문가가 아니지만 내 컨텐츠 유형을 텍스트/html로 설정하는 것입니다. 이는 HTML 렌더링을 의미합니다 (이는 라인 브레이크가 공간으로 변환됨). HTML 요소를 사용하지 않는 경우 (표시되지 않음) 콘텐츠 유형을 텍스트/일반으로 설정하십시오.
앞에서 언급했듯이 텍스트/일반으로 설정하거나 라인 브레이크를 위해 HTML 브레이크를 추가하십시오.
$content = 'Name: '.$name."</br>\r\n";
제휴하지 않습니다 StackOverflow