2012-11-07 5 views
5

나는 방법 다음으로 이메일을 보내려고하고 있어요 -PHPmailer 클래스는 true를 반환하지만 이메일이 전달되지

from : [email protected] 
reply-to : [email protected] 
to : [email protected] 
cc : [email protected] 

내 이메일이 내가하고 CC에 이메일을 교체 할 경우 (CC에 언급 된 주소로 배달지고 ,에서 언급 한 주소로 전자 메일을 보냅니다.

어떤 이유로 든 이메일 주소 [email protected]에 배달되지 않습니다. Outlook 또는 Gmail을 사용하여이 주소로 전자 메일을 수동으로 보내면 실제로 전자 메일이 배달됩니다. 이 문제를 어떻게 디버깅 할 수 있습니까?

스팸/정크 디렉토리도 확인했지만 그곳에는 이메일이 없습니다. 필자는 phpmailer 클래스뿐만 아니라 php mail() 함수를 사용해 보았습니다. 둘 다 TRUE를 반환합니다. 그 이유는 무엇일까요? 도와주세요. 서버가 소리입니다

$mail->From = "[email protected]"; 
$mail->AddReplyTo("[email protected]"); 
$mail->AddAddress("[email protected]"); 
$mail->AddCC("[email protected]"); 
$mail->Subject = $subject; 
$mail->Body = $message; 

if(! $mail->Send()) { 
    echo "Message was not sent"; 
    echo "Mailer Error: " . $mail->ErrorInfo; 
    exit; 
} 
+1

시도한 코드를 입력하십시오. – Elby

+1

AFAIK, PHP의'mail()'에는 단단한 디버그 메커니즘이 없습니다. 따라서 문제가있는 곳을 확실히 알 수 없습니다. – asprin

+0

예. 그 이유는 phpmailer 클래스를 사용했기 때문입니다. 또한 true를 반환합니다. 오류가 발생하지 않습니다. 위 질문에 코드를 추가했습니다. –

답변

2
Try to set cofigurations beffore send (Gmail config): 



    $mail = new Mailer(); 
    $mail->SMTPDebug = true; 
    $mail->SMTPAuth = true; 
    $mail->CharSet = 'utf-8'; 
    $mail->SMTPSecure = 'ssl'; 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = '465'; 
    $mail->Username = 'your login here'; 
    $mail->Password = 'your password here'; 
    $mail->Mailer = 'smtp'; 
    $mail->From = 'form mail address'; 
    $mail->FromName = 'from name'; 
    $mail->Sender = 'form mail'; 
    $mail->Priority = 3; 

    $mail->AddAddress('mail', 'admin name'); 
    $mail->AddReplyTo('replay to', 'admin name'); 
    $mail->Subject = 'subject'; 
    $mail->Body = 'some HTML message here'; 
    $mail->IsHTML(true); 
    if(!$this->Send()) { 
     print_r('error: '. $mail->ErrorInfo); // Show errors 
} 
    $mail->ClearAddresses(); 
    $mail->ClearAttachments(); 
+0

모든 상수는 무엇입니까? 값을 직접 지정할 수 있습니다. 상수가 필요 없습니다. 또한'$ mail-> IsSMTP();'를 지정하려 할 때'$ mail'은 객체가 아닙니다. –

+0

Sory. 이제 상수가없는 몇 가지 변경 사항을 추가하십시오. – RDK

0

검사는 같은 내가 PLESK을 사용하는 내 경우에는 나에게 무슨 일이 있었 이메일을 보내 어떤 이유로 내가받을 때까지 전송 및 이메일 할 수 없습니다 나는이 변경 이메일 구성 및 근무 확인 또한 메일을 보낼 때 사용 o 큐메일이 qmail 인 경우 PHP 메일러에게 알려야 함

0

이것은 하나의 이메일 주소에서 이메일을 보내지 만 다른 메일 주소 (또는 도메인)에 대해 인증하는 경우에도 발생할 수 있습니다.

과 동일한 이메일에 $ mail.setFrom()을 설정하십시오.

관련 문제