메일 서버를 사용하여 위에서 언급 한 도메인을 대신하여 메일을 성공적으로 보낼 수 없습니다. 이러한 각 도메인에는 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
이 있습니까 Yahoo의 SMTP 서버를 통해 메일을 중계합니까? 그렇다면 예. – Kitson88
@bub 사람은 원하는 모든 메일 클라이언트에서 메일을 보낼 수 있지만 SMTP 세부 정보를 사용해야합니다. 현재 SMTP 서버 세부 정보를 사용하고 있지 않습니다. –
@ Kitson88 현재 SMTP 서버 세부 정보를 사용하고 있지 않습니다. 내가하는 일보다 gmail, yahoo, hotmail 등의 SMTP 클라이언트에 대한 세부 정보를 사용해야합니다. –