2012-12-17 2 views
0

내 PHP 이메일 스크립트가 전송되지 않는 것 같지만 왜 볼 수 없습니다. 또한 필자의 대본에 특정 보안 결함이 있다는 것을 알고 있으며 이에 대한 조언을 많이 부탁드립니다! 당신은 $email1 주위에 작은 따옴표를 사용하는PHP html 이메일을 보내지 않음

<?php 

include('config.php'); 

$email1 = $_POST['email1']; 

$id = $_POST['id']; 
$fname = $_POST['fname']; 
$firstname = $_POST['firstname']; 
$surname = $_POST['surname']; 


$to = '$email1'; 
$from = "$email"; 
    $subject = "SC - You Have a Reply"; 

     $body = "<html> 
    <body bgcolor=\"#FFFFFF\"> 
    <center> 
     <b>Dear $firstname</b> <br> 
     <font color=\"red\">You have a response, regarding your Ad on StudentClutter!</font> <br> 
     <p> --------------------------------------------------------- </p> 
     <b> $fname </b> 
     <p> --------------------------------------------------------- </p> 
     <p> ".stripslashes($_POST['body'])." </p> 
     <br> 
     <br> 
     <br> 
     <p> You can reply to them by email: $emailadd </p> 
     <br> 
     <br> 
     <br> 
     <p>Thank you for using studentclutter.com </p> 
     <p> -- The Student Clutter Team </p> 
    </center> 
    </body> 
</html>"; 

    // To send the HTML mail we need to set the Content-type header. 
    $headers = "MIME-Version: 1.0rn"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1rn"; 
    $headers .= "From: $from\r\n"; 

    // now lets send the email. 
    mail($to, $subject, $body, $headers); 

    echo "Message has been sent!"; 

?> 
+0

어떤 종류의 오류가 발생합니까? 그것은 우리가 무엇이 잘못되었는지를 파악하는 데 도움이 될 수 있습니다. – Stegrex

+1

http://swiftmailer.org/를 사용하면 문제가 해결되었습니다. –

+0

@ Glavić 고맙습니다. 좋은 솔루션, 어떤 아이디어로 사용하는 것 같습니까? – neeko

답변

1

감사합니다, 이것들은 필요하지 않습니다. 따옴표를 제거하면 잘 작동합니다. 난 당신이 PHPMailer 클래스를 체크 아웃 권합니다이

$to = $email1; 

처럼

,이 클래스는 보안과 함께 기능의 전체 범위를 제공합니다. 문서를 읽는 것만으로 사용하기가 매우 쉽습니다.

당신은 헤더의 일부의 끝에 복귀하고 새로운 라인 특수 문자를 탈출하지 않은

UPDATE. 행의 끝을 다음과 같이 변경하십시오.

\r\n"; 
+0

정말 고마워요! 이메일은 이제 전송되지만, html이 표시되지 않는 이유는 무엇입니까? – neeko

+0

나는 현재 내 iPad에 있기 때문에 HTML을 통해 좋은 읽을 기회가 없었으며 테스트 코드는 약간 더 힘들었습니다. 그러나 나는 당신이 내가 대답에 링크되어있는 클래스를 체크 아웃하는 것이 좋습니다, 이것은 당신이 달성하고자하는 것을 달성하고 모든 어려운 비트를 처리 할 것입니다. 이메일의 HTML은 코드의 형식이 올바르지 않은 경우 모든 종류의 문제를 일으킬 수 있습니다. 태그를 닫기 전에 필요한 공백을 추가하는 것만큼이나 불쌍 할 수 있습니다. 클래스가 당신을 도울 것입니다 –

+1

헤더 코드에서 하나의 이슈를 볼 수 있다고 말한 적이 있습니다. 내 대답 –

관련 문제