여기에 제가 작업해온 코드가 있습니다. 기본적으로 양식을 채운 후 사용자에게 전송되는 자동 전자 메일을 설정해야합니다. 하지만 HTML이 전자 메일 클라이언트 내부에서 표시되는 것처럼 표시되지 않습니다.HTML이 올바르게 표시되지 않는 PHP 메일러가 있습니다.
Gmail, Outlook 및 Mac 메일을 확인했지만 HTML을 올바르게 표시하지 않았습니다. 여기
코드입니다<?php
session_start();
$_SESSION['name'] = $_POST['name'];
$name = $_SESSION['name'];
$email_1 = $_POST['email_1'];
$email_2 = $_POST['email_2'];
$email_3 = $_POST['email_3'];
$email_4 = $_POST['email_4'];
$id_num = $_POST['id_num'];
$tel = $_POST['tel'];
$email = $_POST['email'];
//sets the current date
$curDate = date("Y-m-d");
// Example
require_once("mailclass/htmlMimeMail.php");
$mail = new htmlMimeMail();
$mail->setSubject("Your submission to MyWebsite!");
$mail->setFrom("MyWebsite <[email protected]>");
$mail->setFrom("MyWebsite <[email protected]>");
$email_address = $email_1 . "," . $email_2 . "," . $email_3 ."," . $email_4 ;
$mail->setBcc($email_address);
$day = "
<body style="'background: #000000; color: #FFFFFF;'">
<div style="'background-image: url(http://www.website.com/images/mailerbg.jpg); width: 900px; height: 839px; margin: 0 auto;'">
<div style="'width: 620px; height: 280px; position: relative; top: 155px; left: 25px;'">
<h1><br>your friend $name<br><br><br></h1>
</div>
</div>
</body>";
$mail->setHTML($day);
$result = $mail->send(array());
?>
나를 이렇게 많이와 주변 속이고 있지만, 기본적으로 HTML 아무도 메시지가 도착하면 이메일 클라이언트에서 예상대로 나타 없습니다에서의 코드는 꽤 지저분 목적지, 메일 클라이언트 내부에서 적절한 HTML 페이지로 표시하려면 어떻게해야합니까?
필자는 이스케이프 처리가 올바르게 수행되지 않았다고 가정하고 있습니다.
고맙습니다!
멋진 그림이지만 pekka의 코드를 사용할 때 decleration ($ day = '';)에 작은 따옴표를 사용해야한다는 것을 명심하십시오. – Flatlin3
@Tim Good eyes! OP 코드가 어떻게 작동하는지 궁금합니다. 이중 따옴표가 중첩되어 있습니다. –
이것은 나에게 뛰어든 것입니다. 추가하기 만하면, 큰 따옴표를 감추고 싶다면 다음과 같이 따옴표 앞에 백 슬래시를 넣으십시오 :
그런 식으로, 큰 따옴표를 입력하면 HTML 본문 문자열을 조기에 닫지 않습니다. 또는 Tim이 말한 것처럼 전체 문자열을 작은 따옴표로 묶고 큰 따옴표를 보통과 같이 사용하거나 그 반대의 방식으로 사용할 수 있습니다. –