2011-10-09 4 views
5

:PHP mail()에서 보낸 메일이 스팸으로 표시되는 것을 피하려면 어떻게해야합니까? 내가 등록 이메일을 전송하려면 다음을 사용하고

전자 메일이 (너무 Gmail에서) 스팸 폴더에 넣어 일부 사람들을 위해
$subject = 'subject is here'; 
$message_raw = 'e-mail text'; 

$message = base64_encode($message_raw); 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n"; 
$headers .= 'From: papa.sk <[email protected]>' . "\r\n"; 

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

.

/etc/postfix/main.cf에서 나는이 있습니다

myorigin = /etc/mailname 
smtpd_banner = papa1.vps.websupport.sk ESMTP 

내가 위의 내용을 변경할지 여부를 확실하지.

+0

스팸을 보내지 마십시오. (맞습니까?) 물론, 농담입니다. 가장 효과적인 방법은 사용자가 전자 메일을 스팸이 아닌 것으로 표시하도록하는 것입니다. 많은 위대한 솔루션 (감사 스패머)이 없습니다. –

+0

나는 스팸을 보내지 않았다. 그것은 새로운 서버, 새로운 사이트입니다. 배포 된 이후 10 개 미만의 메일이 사라졌습니다. 서버는 사이트 전용입니다. –

+0

Base64 인코딩 된 메시지는 스팸 일 가능성이 높습니다. –

답변

2

php mail() 함수는 이메일이 스팸으로 표시되는 것과 아무런 관련이 없습니다.

전자 메일이 스팸으로 표시되는 것은 상대방에서 발생합니다. mail()으로 프로세스에 많은 영향을 줄 수는 없습니다.

전자 메일이 스팸으로 표시되는 이유는 수천 가지가 될 수 있으며 전자 메일이 스팸으로 표시되는 구체적인 이유를 모르는 한 그 반대는 할 수 없습니다.

저 btw의 생계를 유지하는 전체 산업이 있습니다.

+0

가능하다면 주요 기업은 "스팸으로 표시하지 마라."라는 이메일을 보낼 때 당신에게 간청하지 않을 것입니다. –

+0

@RiMMER : 무슨 뜻인지 이해가 안됩니다. – hakre

2

서버에 역방향 DNS 레코드가 필요할 수 있습니다.

많은 메일 서버는 호스트 이름을 찾을 수없는 경우 호스트에서 보낸 메일이 스팸이라고 간주합니다. 즉 nslookup papa.sk은 IP 주소를 반환해야하고 nslookup <ip address>은 papa.sk를 반환해야합니다.

+0

내 서버에서 어떻게 든보고되는 호스트 이름을 설정할 수 있습니까? 아니면 호스팅 회사에서 서버 외부로 나를 설정하도록 요청해야합니까? 나는 그것에 대한 완전한 루트 액세스를 가지고 ... –

+1

당신은 먼저 (DNS 서버를 구성하여) 귀하의 서버에 넣어야 만하지만, 귀하의 호스팅 회사에 그러한 역 DNS가 필요하다는 것을 알려야합니다. 많은 호스팅 업체가이 서비스를 제공하지 않는다는 점에 유의하십시오. 이 문제를 우회하는 한 가지 방법은 호스팅 회사가 반드시 제공하는 메일 릴레이를 통해 메일을 보내는 것입니다. –

+0

메일 릴레이 관련 안내는 어디에서 찾을 수 있습니까? –

관련 문제