문제

내가 노력하는 이메일을 보내는 사이트에서 내가 건축하지만,그것은에서 끝나 야후 스팸 폴더에 있습니다.그것은 이메일 보내는 자격 증명입니다.나는 무엇을 할 수 있을 정당화하기 위해 그것은?

$header = "From: site <sales@site.com>\r\n";
$header .= "To: $name <$email>\r\n";
$header .= "Subject: $subject\r\n";
$header .= "Reply-To: site <sales@site.com>" . "\r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);
도움이 되었습니까?

해결책

Ted Percival의 제안 외에도 사용해 볼 수 있습니다. phpmailer 헤더를 수동으로 구축하기보다는 이메일을 작성합니다. 나는이 수업을 광범위하게 사용했으며 Yahoo 또는 다른 사람에 의해 이메일을 거부하는 데 아무런 문제가 없었습니다.

다른 팁

  • 를 사용하지 않는 HTML 이메일에 나와 있습니다.
  • 을 통해 보내는 합법적인 메일 서버는 고정 IP 과 역 DNS(PTR)는 점을 컴퓨터의 실제 호스트 이름(일으로 검색).
  • 메시지를 포함 ID(또는지 확인하는 로컬 우송자가 당신을 위해 하나).
  • 실행을 통해 귀하의 이메일 SpamAssassin 시는 나쁜 점수 규정과 일치하.피 일치하는 그들.
  • 적 확인 메일 디지털 등의 메시지입니다.

나는 내 야후에서 다음을 성공적으로 시도했다! 웹 호스팅 계정 :

$email = "me@site.com";
$subject = "Simple test";
$body = "Simple test";
$header = "From: site \r\n";
$header .= "To: $name \r\n";
$header .= "Subject: $subject\r\n";
$header .= "Reply-To: site " . "\r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);

그러나 헤더에 약간의 복제가 있어야합니다.

$email = "me@site.com";
$subject = "Simple test";
$body = "Simple test";
$header = "From: site \r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);

'sendmail'(PHP Mail () 함수 아래)에 추가 매개 변수가 필요할 가능성도 있습니다. 리턴 헤더 (예 : 리턴 패스)에 문제가있는 경우 설정 한 내용으로 설정되지 않은 경우 다음을 사용해야 할 수도 있습니다. 다섯 번째 메일 () 매개 변수. 예시:

mail('recipient@domain.com', 'Subject', $mail_body, $headers, " -f sender@domain.com");

True Vanilla Sendmail이 문제에 문제가있을 수 있다는 추가 증거가 있습니다! 대상 서버에서 PHP의 기본 Mail () 지원으로 'PostFix'가 있기를 바랍니다.

에 추가 테드 퍼시발의 제안, 이메일이 나오는 IP 주소가 SPF 레코드 site.com. Site.com에 SPF 레코드가없는 경우 (물론 문제의 IP 주소를 허용하는 경우) SPM 필터를 지나서 이메일을받는 데 도움이 될 수 있습니다.

그리고 이메일에서 HTML을 절대적으로 사용해야하는 경우 일반 텍스트 버전도 포함해야합니다. "text/html"대신 "멀티 파트/대안"의 내용 유형을 사용합니다.

TED의 제안은 Tim과 마찬가지로 좋지만 Yahoo/Hotmail/등으로 이메일을 안내 할 수있는 유일한 방법은 Pear 이메일 클래스를 사용하는 것입니다. 이것을 시도하고 (서버가 정상이라고 가정) 작동 할 것이라고 보장 할 수 있습니다.

테드와 팀은 훌륭한 제안을합니다. Shabbyrobe도 마찬가지입니다. 우리는 phpmailer를 사용하고 스팸 필터에 아무런 문제가 없습니다.

주목할만한 점은 MIME 형식을 사용하는 경우 많은 스팸 필터가 텍스트 버전을 가지고 있지 않다는 것입니다. 모든 헤더와 텍스트 버전을 직접 추가하거나 Phpmailer 또는 Pear Mail 라이브러리가이를 처리하게 할 수 있습니다. 텍스트 버전을 갖는 것은 도움이 될 수 있지만 좋은 연습과 사용자 친화적입니다.

코드 샘플이 샘플이라는 것을 알고 있지만 말할 가치가 있습니다. 사용자가 제공 한 데이터를 메일 헤더에 삭제하지 마십시오. 예상되는 데이터인지 확인하십시오. PHP 메일 스크립트를 열린 릴레이로 바꾸는 것은 사소한 일이며 아무도 그것을 원하지 않습니다.

이메일 형식은 RFC 822 및 RFC 2045를 확인하십시오. Python의 이메일 수업은 작업하기가 정말 쉽습니다. PHP의 배가 (이전 메일에 따라) 동일하다고 생각합니다. 또한 헤더와 본체는 " r n r n"으로 분리되며 코드가 자동으로 삽입되는지 확실하지 않지만 헤더에이를 추가하려고 시도 할 수 있습니다.

DK/SPF가 필요할 수 있다고 생각하지 않습니다 (DK/SPF 지원이없는 웹 서버가 많기 때문에). 차단 될 수있는 많은 요인이있을 수 있습니다 (적당한 10K 기준 및 방법. P0F, Greylisting, Greylisting, Blacklisting 등). 이메일이 올바르게 형식화되어 있는지 확인하십시오 (큰 차이가 있음). 당신을 위해 완전한 헤더를 생성하는 라이브러리를 살펴보십시오. 그렇게 할 가능성이 가장 적습니다.

SPF 레코드를 추가하는 것은 매우 쉽습니다. 당신은 시도해야합니다.

이것은 DreamHost Plus Googlemail을위한 것입니다. 또한 당신은 또한 당신이 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게 당신에게, 당신에게, 당신은 당신에게, 나의 경우에, Googlemail 전 줄) 서버에 소프트 거부 (스팸으로 표시되지만 삭제하지 않는)를 지시합니다. Google 문서화가 그렇게 말하기 때문에 "-"(삭제) 대신 :-)

TXT 레코드 V = SPF1 IP4 : 64.111.100.0/24 IP4 : 66.33.201.0/24 IP4 : 66.33.216.0/24 IP4 : 208.97.132.0/24 IP4 : 208.97.187.0/24 IP4 : 208.113.200.0/24 IP4 44 : 208.113.244.0/24 IP4 : 208.97.132.74 IP4 : 67.205.36.71 포함 : aspmx.googlemail.com mx ~ All All.

도움이되기를 바랍니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top