2011-04-26 2 views
3

오케이, 나는 인터넷에서 답변을 찾았습니다. 슬프게도 아무 소용이 없습니다. 회원이 링크를 따라 등록 할 수 있도록 PHP mail() 함수를 사용하여 메일을 보내려고합니다. Gmail, Yahoo !, Hotmail에는 적합하지 않습니다. 제발 도와주세요.PHP 메일() 함수가 핫메일에 보낼 수 없습니까?

<?php 
$headers .= 'To: <[email protected]>' . "\r\n"; 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 
$text="hello"; 
$text = str_replace("\n.", "\n..", $text); 
mail('Kenny Worden:<[email protected]>','Leos Realm account verification!',$text,$headers); 
?> 

이 사람이 도움이된다면 :

SMTP : 로컬 호스트 (srv30.000webhost.com)

SMTP 포트 : 25

+3

정크 메일 폴더에서 보았습니까? 메일 서버 하나에서 작동하지 않고 다른 서버에서 작동하지 않으므로. – judda

+0

정크 폴더에 아무것도 ... 왜? –

+0

다른 서버 (메일을 보내는 데 다른 SMTP 서버 사용)에서 동일한 스크립트를 실행 해 보았습니까? – gd1

답변

2

귀하의 코드가 좋은 것 같다. 내 짐작으로는 서버 끝에 뭔가 문제가 있거나 메일 배달 로그를 확인하거나 서버 관리자가 사용자를 대신하여 서버를 살펴보아야한다는 것입니다. 라우팅/DNS 문제 일 수 있습니다.

편집 : 방금 ​​내 서버에서 해당 스크립트를 시도했지만 제대로 작동합니다. 내 핫메일 주소로 즉시 이메일을 받았다.

+0

어떤 서버를 사용합니까? 아직 아무 주사위도, ( –

+1

그것의 특별한 아무것도, hostgator와 공유 리눅스 서버. –

+0

OS가 호스트에 영향을 미칠지 아십니까? 내 생각은 Windblows하지만 재확인해야합니다 : P –

1

다섯 번째 매개 변수로 "-f <from address>" 문자열이 누락되었습니다.

PHP Manual은 MTA가 봉투의 올바른 "보낸 사람"주소를 보내도록 지정해야한다고 지적합니다. 헤더에 설정하는 것으로 충분하지 않습니다. 이런 종류의 비극은 내가 mail()을 추천하지 않고 php-mailer 또는 그와 비슷한 사람을 가리키는 이유입니다.

(이하 "봉투"는 MTA가 전자 메일을 배달하기 위해 다른 MTA와 가진 대화를 의미합니다.)

0

코드가 잘 좋아 아무것도 당신은 그것을 핫메일 에서 그것을 차단 스팸 메일처럼 보이게 할 도메인에 대한 SPF 레코드를 만들어보십시오, 심지어

메일 서버가 블랙리스트되지 확인 서명,이 문제 http://www.mxtoolbox.com/

@staticsan는 PHP 메일 발송을 권장 또는도 http://swiftmailer.org/으로 을 일으킬 수 있습니다 다른 옵션을 사용하면 도움이 될 수도 있습니다.