2012-03-18 7 views
0

나는 배와 함께 PHP 메일을 설정하려고합니다. 나는 성공하지 못한 채 지난 4 시간 동안 노력하고 연구 해왔다.배 메일은 어떻게 설정하나요?

경고 : require_once를 (Mail.php) function.require-

이 코드

<?php 
require_once "Mail.php"; 

$from = "Sandra Sender <[email protected]>"; 
$to = "Ramona Recipient <[email protected]>"; 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 

$host = "ssl://mail.example.com"; 
$port = "465"; 
$username = "smtp_username"; 
$password = "smtp_password"; 

$headers = array ('From' => $from, 
  'To' => $to, 
  'Subject' => $subject); 
$smtp = Mail::factory('smtp', 
  array ('host' => $host, 
    'port' => $port, 
    'auth' => true, 
    'username' => $username, 
    'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 

if (PEAR::isError($mail)) { 
  echo("<p>" . $mail->getMessage() . "</p>"); 
 } else { 
  echo("<p>Message successfully sent!</p>"); 
 } 
?> 

그리고 'require_once를 "Mail.php"'이 오류를주고있다을 사용하고 있습니다 한 번] : 스트림을 열지 못했습니다 : /home/creatif2/public_html/mail.php 3 번 줄에 해당 파일이나 디렉토리가 없습니다. 치명적인 오류 : require_once() [function.require] : 필요한 'Mail.php'열기에 실패했습니다 (include_path = '.: php /') /home/creatif2/public_html/mail.php의 3 행

(210)

배와 배 메일이 설치되어

Auth_SASL 1.0.6 업데이트를 다시 설치 제거 표시 문서 메일 1.2.0 업데이트를 다시 설치 제거 표시 문서 Net_SMTP 1.6.1 업데이트를 다시 설치 제거 표시 문서 Net_Socket 1.0.10 업데이트 다시 설치 제거 문서보기

그리고 나는 그것에 대해 매우 좌절감을 느낍니다. 내 문제는 포함 경로를 설정하는 것 같아요,하지만 난 아무데도 가지 않을거야.

은 PHP 폴더 (예 : home/my_user/php/Mail.php, 저는 Justhost를 사용하고 있습니다)에 있습니다.입니다.

현재의 구성은 이다.는/usr/lib 디렉토리/PHP :는/usr//

사람이 어떻게 Mail.php가 제대로 파일을 참조하기 위해 나에게 설명해 주시겠습니까 PHP는 lib 디렉토리/지역? 아침과 오후에 여기에 갇혀있어.

감사합니다.

답변

0

문제는 포함에서 올바른 경로를 사용하고 있지 않다는 것입니다. 당신의 경로를 포함 가정하면 문서 루트에서 시작, 당신은 사용해야합니다

require_once "/home/my_user/php/Mail.php"; 

+0

올바른 경로를 찾으려면 어떻게해야합니까? $ _SERVER [ 'DOCUMENT_ROOT']를 통해 참조했습니다. 경고 : require_once (PEAR.php) [function.require-once] : 스트림을 열지 못했습니다 :/home/creatif2/php에 그런 파일이나 디렉토리가 없습니다. /mail.php on line 46 치명적인 오류 : require_once() [function.require] :/home /에있는 필수 'PEAR.php'(include_path = '/ home/creatif2/public_html /../ php' creatif2/php/Mail.php on line 46 – Raekye

+0

문제는 Mail.php가 제대로 열렸지 만, Mail.php 안에 제대로 포함되지 않은 PEAR.php에 대한 호출이 있다는 것입니다. * set_include_path();로 */home/creatif2/php /'를 포함 경로에 추가해야합니다. * – aurbano

+0

set_include_path를 추가했으나 여전히 ** 경고 : require_once (PEAR.php) [function.require-once] : 스트림을 열지 못했습니다 : 46 행의 /home/creatif2/php/Mail.php에 그런 파일이나 디렉토리가 없습니다 **. 사실, 어디서나 PEAR.php를 찾을 수 없습니다 - 어디에 위치해야합니까? 치명적인 오류 : require_once() [function.require] : 46 행의 /home/creatif2/php/Mail.php에 필요한 'PEAR.php'(include_path = '/ home/creatif2/php /')를 열지 못했습니다. – Raekye

0

을 요구하는 것이 올바른 경로를 찾기 위해 몇 가지 테스트를 취할 수도 있지만 나는이 같은 문제를 가지고 이메일을 보내려고 할 때 . 모든 의존성이있는 배 메일 패키지를 설치해야합니다. PEAR 패키지 관리자를 재설치 할 때까지 설치할 수 없습니다. 이게 도움이 될 것 같습니다.

+0

나는이 모든 일을 그냥 통과했다. 내 호스트에서 PEAR 패키지 관리자가 설치되었지만 PEAR 자체가 설치되지 않았습니다! 그래서 나는 스크립트가 작동하도록 PEAR과 Mail을 설치해야만했다. –