2014-05-24 3 views
-3

mail() 함수를 사용하는 동안 오류가 발생하지만 이메일이 실제로 전송되지 않습니다. 내 고객에게 활성화 링크를 보내고 있는데, 인 md5(uniqid(rand(), true));을 포함하면 이메일이 실제로 서버에서 전송되지 않는다는 것을 알게되었습니다. 내 헤더PHP 메일() 메일에서 md5를 보낼 수 없습니다.

내가 사용 :

$headers = "From: [email protected]\r\n"; 
$headers .= "Reply-To: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

나는 사람들이 헤더에 경계 것은 내부에 md5을 넣어 몇 가지 다른 주제를 보았다하지만 난 그게 뭔지 이해가 안 돼요. 누구든지 md5 문자열을 PHP mail()의 HTML 메일에 포함 할 수없는 이유에 대해 도움을 줄 수 있습니까?

방금 ​​변수를 제거하면 전자 메일이 성공적으로 전송되고 아무런 문제없이보고 받아 볼 수 있습니다.

미리 도움을 청하십시오.

+0

실제 해시를 사용하는 구문 오류가 의심됩니다. 메시지 작성 방법의 예를 게시 할 수 있습니까? –

+0

다음과 같음 : $ key = md5 (rand()); $ url = "http://yoursite.com/auth/activate.php?key=".$key; 가 작동하지 않습니까? – matcartmill

+0

'mail()'을 사용하지 마십시오. PEAR처럼 괜찮은 메일 라이브러리를 얻으십시오. – Havenard

답변

1

기본적으로 mail()을 사용하여 multi-part message bodies as described in RFC 2046을 사용하여 메시지를 보내고 싶습니다.

명백한 질문은 : 왜? 왜 당신을 위해 지루한 부분을 할 준비가되어있는 도서관이있을 때 휠을 재발 명하고 있습니까?

대신 메시지를 보내려면 PEAR Mail을 사용하는 것이 좋습니다. 텍스트 및 HTML 버전과 첨부 파일 및 원하는 모든 것을 갖춘 풍부한 전자 메일을 작성할 수 있습니다. 자신의 코드를 작성하는 것보다 훨씬 더 신뢰할 수 있습니다.

관련 문제