2010-03-29 4 views
1

여기에 제가 작업해온 코드가 있습니다. 기본적으로 양식을 채운 후 사용자에게 전송되는 자동 전자 메일을 설정해야합니다. 하지만 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 페이지로 표시하려면 어떻게해야합니까?

필자는 이스케이프 처리가 올바르게 수행되지 않았다고 가정하고 있습니다.

고맙습니다!

답변

3

이 경우 PHP 코드를 표시하는 것은 쓸모가 없습니다. 우리는 최종적으로 생성 된 전자 메일을 볼 필요가 있습니다. 눈을 잡는다 무엇

는하지만, 일부 잘못된 인용 :

<body style="'background: #000000; color: #FFFFFF;'"> 

이미를 해결 어쩌면

<body style="background: #000000; color: #FFFFFF;"> 

해야한다.

또한 this great guide에 따르면 전자 메일에서는 위치 지정이 거의 지원되지 않으므로 레이아웃이 방해 될 수 있습니다.

+0

멋진 그림이지만 pekka의 코드를 사용할 때 decleration ($ day = '';)에 작은 따옴표를 사용해야한다는 것을 명심하십시오. – Flatlin3

+1

@Tim Good eyes! OP 코드가 어떻게 작동하는지 궁금합니다. 이중 따옴표가 중첩되어 있습니다. –

+0

이것은 나에게 뛰어든 것입니다. 추가하기 만하면, 큰 따옴표를 감추고 싶다면 다음과 같이 따옴표 앞에 백 슬래시를 넣으십시오 : 그런 식으로, 큰 따옴표를 입력하면 HTML 본문 문자열을 조기에 닫지 않습니다. 또는 Tim이 말한 것처럼 전체 문자열을 작은 따옴표로 묶고 큰 따옴표를 보통과 같이 사용하거나 그 반대의 방식으로 사용할 수 있습니다. –

관련 문제