php
2011-11-22 3 views 0 likes 
0

는 내가 전혀 전송 된 메일을받지 못했습니다 몇 가지 이유를 들어 메일 기능PHP 메일()에서 이메일을 보내지 않습니까?

$to = "[email protected]"; 
$subject = "Voucher Number: ".$voucher; 
    $message = '<html><body>'; 
    $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">'; 
    $message .= "<tr style='background: #eee;'><td><strong>Voucher#:</strong> </td><td>" . strip_tags($voucher) . "</td></tr>"; 
    $message .= "<tr><td><strong>Name:</strong> </td><td>" . strip_tags($name) . "</td></tr>"; 
    $message .= "<tr><td><strong>Phone Number:</strong> </td><td>" . strip_tags($product) . "</td></tr>"; 
     $message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($email) . "</td></tr>"; 


//set content-type 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'cc:'. $email . "\r\n"; 

mail($to,$subject,$message,$headers); 

있습니다. 이 서비스는 그래서 난 로컬 호스트에서 실행하고 있지 않다 호스팅, 심지어 나는 나의 의심은 서버 측에 문제가 있음을, 내가 항상 성공을 얻을

if (mail(....)) 
{ echo "success"; 
} 
else { echo "failed"; } 

을 쓸 때. PHP 메일이 포트 25에서 이동하는 경우 스크립트의 다른 포트로 포트를 변경하는 방법이 있습니까? 또는 php.ini에있을 것입니다.

다른 도메인 (다른 도메인)을 사용하여 다른 웹 페이지로 리디렉션하지 않고 메일을 보낼 수 있습니까? 다른 말로하면 메일을 보내기 전에 PHP 스크립트를 통해 SMTP 서버에 연결할 수 있습니까?

+0

smtp 로그를 확인하셨습니까? –

+1

자주 묻는 질문입니다. 메일 서버를 구성하는 방법을 보려면 간단한 Google 검색을 수행하십시오. – mc10

답변

0

메일()이 메일을 보내지 않으면 메일을 서버의 메일 데몬으로 보내 전송합니다. true를 반환하면 큐에 성공적으로 제출되었음을 의미합니다.

메일 데몬의 로그를보고 메시지가 실제로 전송 된 경우 대기열에 있는지 확인하고 그렇지 않은 경우 메시지를 보내지 못한 경우 어떤 오류 메시지가 기록되었는지 확인해야합니다.

현재 컴퓨터에서 메일 데몬이 실행 중입니까?

+0

예. 제공 업체가 로그를 확인하고 "아무 것도 일어나지 않았습니다"라고 말했습니다. – Fahad

+0

그는 그보다 더 구체적 일 수 없었습니다. 로그에 오류 메시지가 없습니까? – GordonM

0

많은 공유 호스팅 업체가 호스트에 확인하여 mail() 기능을 사용하지 않도록 설정하여 스팸을 줄입니다.

대신 smtp를 사용해야합니다.

wordpress와 같은 앱에는이 변경을 처리 할 수있는 간단한 플러그인이 있습니다.

+0

물론 SMTP 서버가 있어야 함을 의미합니다. – blockhead

관련 문제