2014-07-17 3 views
-1

간단한 PHP HTML 이메일 양식을 작성했습니다. 괜찮습니다. 이메일을 보내면 이메일이 차단되지 않습니다. 문제는 특정 메일 클라이언트 만 이메일을 수신한다는 것입니다. Gmail은 정상적으로 수신되지만 다른 이메일 계정 (웹 메일 클라이언트를 통해 사용)은 응답하지 않으며, 시도하지 않은 이메일 앱도 없습니다. X-Mailer 헤더를 추가 한 후 잠시 동안 작동했지만 다시 중지되었습니다. 또한 수령인 라인이 신기하게 의도적으로 포맷 된 경우에도 간단히 작업했습니다.특정 메일에 접근하는 PHP 메일

형태 :

<form name="email" action="send.php" method="POST" id="mailform"> 
    * From: <input type="text" name="from" required/><br/> 
    * To: <input type="text" name="to" required/><br/> 
    * Reply-To: <input type="text" name="reply" required/><br/> 
    Subject: <input type="text" name="subject" /><br/> 
    * Message:<br/> 
    <textarea name="email" rows="10" cols="100" id="message" required></textarea><br/> 
    <input type="button" name="convert" id="convert" value="Convert and Check" /> 
</form> 

합니다 ('변환 및 확인'나는 HTML 이메일 서식을 마크 다운을 사용하기 때문에 버튼이, 그 부분을 다시 잘 작동 그것은 MD 번 보내기 버튼으로 변경됩니다. HTML로 변환된다)

PHP의 :.

$from = $_POST["from"]; 
$to = $_POST["to"]; 
$reply = $_POST["reply"]; 
$subject = $_POST["subject"]; 
$message = $_POST["email"]; 
$headers = "Content-Type: text/html" . "\r\n" 
    . "Reply-To: ".$reply . "\r\n" 
    . "From: ".$from . "\r\n" 
    . "X-Mailer: PHP/".phpversion() . "\r\n"; 
echo "<h3>Preview</h3><div class='content-container'>"; 
echo "<b>To:</b> ".htmlspecialchars($to)."<br/>"; 
echo "<b>Headers:</b> ".htmlspecialchars($headers)."<br/><hr/>"; 
echo "<div class='frame'>".$message."</div></div>"; 
echo "<br/><h3>Status</h3>"; 
$send = mail($to, $subject, $message, $headers); 
if($send) { 
    echo "Your mail was successfully accepted for delivery."; 
} 
else { 
    echo "Sending of the email failed."; 
} 

어떤 아이디어? 혼란 스러울 정도입니다. 왜 일부 고객 만이 이것을 받습니까?

+0

또한 smtp를 통해 메일을 보내보십시오 .. phpmailer와 같은 일부 PHP 라이브러리도 사용하십시오 .. –

+0

@ user574632 : 물론 그것은 인증 뒤에 있습니다. 그러나 필자가 작성한 이전 PHP 이메일 스크립트에서는 모든 클라이언트가 정상적으로 수신했습니다. ** 이러한 스크립트는 여전히 작동합니다 **. 그래서 **이 스크립트에는 ** 클라이언트가 수신하지 못하게하는 무언가 **가 있습니다. – ArtOfCode

+0

@ArtOfCode 동일한 서버에서 실행되는 다른 PHP 스크립트가 동일한 메일 서버를 사용하여 동일한 이메일 주소로 전송 될 수 있으며 메일이 전달되지만이 스크립트는 전달되지 않는다고 말하고 있습니까? – Steve

답변

1

대부분의 이메일 제공 업체가 동적 ips의 이메일을 차단하기 때문에.

+0

'동적 인'은 '주기적으로 변경됨'을 의미합니다. 스크립트의 IP는 변경되지 않습니다. – ArtOfCode

+0

모든 알 수없는 ip는 동적입니다. 비 동적 IP는 잘 알려진 이메일 제공자의 ips입니다 – Dima

+0

어떻게 그렇게? 나는 체크했다, IP는 변하지 않는다. – ArtOfCode