2011-06-20 18 views
14

Cómo incluir mail.php para usar PHP Pear Mail. Estoy usando el siguiente código en el archivo test.php:cómo usar el correo php pear

require_once "Mail.php"; 

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

    $host = "ssl://smtp.gmail.com"; 
    $port = "465"; 
    $username = "<[email protected]>"; 
    $password = "testtest"; 

    $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>"); 
    } 

y se encuentra el siguiente error a través de este código:

Warning: require_once(Mail.php) [function.require-once]: failed to open stream: No such file or directory in D:\Hosting\6525150\html\test.php on line 3 

    Fatal error: require_once() [function.require]: Failed opening required 'Mail.php' (include_path='.;C:\php5\pear') in D:\Hosting\6525150\html\test.php on line 3 

Puede alguien decirme cuál es el problema?

Respuesta

12

Compruebe si pear está instalado en el sistema. Si sí, entonces especificar la ruta al directorio de instalación de pera en la directiva include_path php.ini

Es necesario instalar paquetes de PEAR y correo de PERA para que funcione

+0

pear está instalado en mi servidor. y la ruta de inclusión es "; C: \ php5 \ pera" – Deepa

+1

necesita instalar el paquete de Correo también –

+1

también verifica php include_path usando phpinfo(); –

20

Su mensaje de error se explica por sí. Asegúrese de tener instalado PEAR :: Mail en su máquina, si no, instalelo.

Linux:

pera instalar Mail

de Windows:

http://www.geeksengine.com/article/install-pear-on-windows.html

Si el proceso se realiza.

A continuación, por favor incluya su mail.php en el script (probablemente antes de crear instancias de objetos Mail Esto probablemente se debe poner en sus advertencias de distancia

incluyen "/path/to/pear/Mail.php"..;

o

set_include_path ("/ ruta/a/pera"); incluyen "mail.php";

También asegúrese de que there is enough permission dado por Mail.php para leer PHP.

+1

no es suficiente para hacer 'incluir" Mail.php ";'? –

+1

@FranciscoCorrales - Sí, es el tiempo que tenga el paquete de correo instalado en su directorio PEAR. –

0

monté estos pasos desde la web y funciona:

Cómo instalar PEAR: 1. Download go-pear.phar at http://pear.php.net/go-pear.phar & save to php directory (eg C:\Program Files\PHP\) 2. Open a command window as administrator, move to your php directory, CMD: php go-pear.phar 3. Accept the default value for everything it asks about; system wide, path options, updating your php.ini etc 4. In php directory double-click PEAR_ENV.reg to update your registry Luego hay que instalar PEAR MAIL: 5. CMD: php go-pear.phar 6. CMD: pear install --alldeps mail 7. CMD: pear channel-update pear.php.net Asegúrese de tener esto en su secuencia de comandos de correo electrónico: require_once "Mail.php";