2016-11-16 2 views
1

현재 PHP 메일 기능 또는 CodeIgnitor 메일 기능을 사용하여 메일을 보내고 있습니다. 메일 ID는 모든 도메인 일 수 있습니다 (예 : [email protected], [email protected], [email protected])여러 메일 클라이언트 (야후 | Google | Hotmail | Rediff | 개인 메일 도메인)에서 PHP 메일 사용

메일 또한 모든 도메인 일 수 있습니다.

FROM이 YAHOO 이외의 메일로 설정된 경우 내 메일이 올바르게 전송됩니다. YAHOO의 모든 메일에서 PHP 메일에서 메일을 보내는 데 문제가 있습니다. yahoo가 내 메일을 차단합니까?

이 문제를 어떻게 해결할 수 있습니까?

+0

이 있습니까 Yahoo의 SMTP 서버를 통해 메일을 중계합니까? 그렇다면 예. – Kitson88

+0

@bub 사람은 원하는 모든 메일 클라이언트에서 메일을 보낼 수 있지만 SMTP 세부 정보를 사용해야합니다. 현재 SMTP 서버 세부 정보를 사용하고 있지 않습니다. –

+0

@ Kitson88 현재 SMTP 서버 세부 정보를 사용하고 있지 않습니다. 내가하는 일보다 gmail, yahoo, hotmail 등의 SMTP 클라이언트에 대한 세부 정보를 사용해야합니다. –

답변

1

메일 서버를 사용하여 위에서 언급 한 도메인을 대신하여 메일을 성공적으로 보낼 수 없습니다. 이러한 각 도메인에는 DNS에 SPF (보낸 사람 정책 프레임 워크) 레코드라는 사용중인 것이 있습니다.이 레코드는 보낸 사람 IP를 확인하기 위해 SPF를 확인하는 모든받는 사람에게 SPF와 동일한 메시지를 보내는 모든받는 사람에게 알려줍니다. 당신은 자신의 SMTP 서버를 통해 이메일을 보내야합니다.

SPF 레코드가이 사이트를 사용하여 도메인에 존재

v=spf1 redirect=_spf.google.com 
v=spf1 redirect=_spf.mail.yahoo.com 

선택하면 GMAIL & 야후 SPF 예 : 제 생각에는

http://mxtoolbox.com/spf.aspx

, 당신의 최선의 선택을 도메인 당 올바른 SMTP 서버로 메일을 릴레이하는 것입니다. PHPMailer을 사용하면이 작업을 매우 쉽게 수행 할 수 있습니다. FROM 옵션에 설정된 도메인이 사설 관리 도메인 인 경우 SPF 레코드가 설정되어 있지 않고 송신 IP가 블랙리스트에없는 경우 릴레이를 대신 할 수 있어야합니다.

확인을위한 사이트 당신은 블랙리스트 IP를 보내는 경우 :

http://mxtoolbox.com/blacklists.aspx

당신은 SMTP 설정이 특정 도메인에 사용되는 선택할 수있는 방법의 예 :

$email = '[email protected]'; 
$domain = explode('@', $email) ; 

switch ($domain[1]) { 

    case 'yahoo.com': 

      //NOT REAL SMTP SETTINGS! 
      $mail->Host = 'smtp1.yahoo.com'; 
      $mail->SMTPAuth = true;        
      $mail->Username = '[email protected]';     
      $mail->Password = 'secret';       
      $mail->SMTPSecure = 'tls';       
      $mail->Port = 587;   

    break; 

    case 'gmail.com': 

      //NOT REAL SMTP SETTINGS! 
      $mail->Host = 'smtp1.gmail.com'; 
      $mail->SMTPAuth = true;        
      $mail->Username = '[email protected]';     
      $mail->Password = 'secret';       
      $mail->SMTPSecure = 'tls';       
      $mail->Port = 587;   

    break; 


} 


//Rest of PHP Mailer code