2010-07-08 5 views
0

PHP 메일 기능을 사용하여 전자 메일로 출력을 보내려고하는 PHP 파일이 있습니다 (PHPMailer는 작동중인 서버가 SMTP 서버를 제한하므로 옵션이 아닙니다). 메일 기능에 대한 코드는PHP 출력 버퍼링이 작동하지 않습니다.

$to = "[email protected]"; 
$subject = "Outdoor Grill Service Request"; 
ob_start(); 
require 'grill-form.php'; 
$body = ob_get_clean(); 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
$headers = "From: [email protected]\n"; 
mail($to,$subject,$body,$headers); 
echo "Mail sent to $to"; 

그릴 - form.php 양식에서 PHP 변수로 채워집니다 테이블이있는 HTML 파일을 포함하는 PHP 파일입니다. 이것은 PHPMailer를 사용하여 완벽하게 작동하지만 일단 표준 PHP 메일로 마이그레이션하면 "엉터리"가 발생합니다.

내가 겪고있는 문제는 전자 메일이 원시 HTML 코드가 아닌 grill-form.php (값이있는 스타일이 지정된 테이블)의 출력을 보내고 있다는 것입니다. 나도 바보 같은 것을 놓치고 있을지도 모른다. PHP 메일 기능에 대한 지식이 거의 없다.

내가 뭘 잘못하고 있는지 궁금해하고 있었다. 당신을 위해 미리 감사드립니다 사람들이 최고라고 도와주세요.

+0

순수한 측면 질문 - PHPMailer를 사용하여 SMTP 연결을 통해 보낼 수 있다고 생각했습니다. 내가 말했듯이, 당신은 그 패키지를 사용하지 못하게하는 조건들에 흥미를 느끼고 있습니다. –

답변

1

실제 코드라고 가정하면 $headers 변수를 세 번째 선언으로 덮어 쓰지 않고 가지고있는 것을 추가합니다. Content-type 헤더는 절대로 들어 가지 않습니다.

PHPMailer는 SMTP를 지원합니다 - 정확히 "SMTP 서버를 제한 하시겠습니까?"라는 것이 정확히 무엇입니까? (예 : http://phpmailer.worxware.com/index.php?pg=examplebsmtp)

+0

그 실종 기간은 정확하게 내 문제였습니다. 나는 그것을 놓쳤다는 것을 믿을 수 없다. 고맙습니다. SMTP 서버가가는 한, 나는 설명 할 수 없다. 필자는 PHPMailer를 사용하여 원래 기능을 작성했으며 컴퓨터 (Apache)에서 정상적으로 작동하여 필자의 컴캐스트, 핫메일 및 gmail 계정을 통해 SMTP 전자 메일을 보낼 수있었습니다. 그러나 일단 자신의 서버 (리눅스)에 넣어, 나는 계속 SMTP 오류 111 "연결 거부"지고. 내가 찾을 수있는 모든 포트를 시도한 다음 다시 gmail 계정을 사용하려고했는데 같은 111 오류가 발생했습니다. 기술 지원부와상의 한 후, 서버와 방화벽 문제가 발생할 가능성이 가장 높다고 답했습니다. – Chris

관련 문제