Foros del Web » Programando para Internet » PHP »

Enviar email por PHP

Estas en el tema de Enviar email por PHP en el foro de PHP en Foros del Web. Hola a todos. Os escribo porque ando desesperado por enviar un email en php. Me he bajado este paquete que supuestamente funciona: http://pear.php.net/package/Mail Y ejecutado ...
  #1 (permalink)  
Antiguo 28/06/2011, 08:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Enviar email por PHP

Hola a todos. Os escribo porque ando desesperado por enviar un email en php.

Me he bajado este paquete que supuestamente funciona:
http://pear.php.net/package/Mail

Y ejecutado el siguiente código (con el servidor smtp correcto, claro). No funciona.

Alguna ayuda??

Código PHP:
Ver original
  1. <?php
  2.  require_once "Mail.php";
  3.  
  4.  $from = "Sandra Sender <[email protected]>";
  5.  $to = "Ramona Recipient <[email protected]>";
  6.  $subject = "Hi!";
  7.  $body = "Hi,\n\nHow are you?";
  8.  
  9.  $host = "mail.example.com";
  10.  $username = "smtp_username";
  11.  $password = "smtp_password";
  12.  
  13.  $headers = array ('From' => $from,
  14.    'To' => $to,
  15.    'Subject' => $subject);
  16.  $smtp = Mail::factory('smtp',
  17.    array ('host' => $host,
  18.      'auth' => true,
  19.      'username' => $username,
  20.      'password' => $password));
  21.  
  22.  $mail = $smtp->send($to, $headers, $body);
  23.  
  24.  if (PEAR::isError($mail)) {
  25.    echo("<p>" . $mail->getMessage() . "</p>");
  26.   } else {
  27.    echo("<p>Message successfully sent!</p>");
  28.   }
  29.  ?>
  #2 (permalink)  
Antiguo 28/06/2011, 08:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar email por PHP

¿Te muestra algún error o algo parecido?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/06/2011, 08:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Enviar email por PHP

Pantalla en blanco. He comprobado línea por línea y el código falla en:

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

no continua ejecutando más abajo de eso.
  #4 (permalink)  
Antiguo 28/06/2011, 09:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar email por PHP

Perfecto, así me gusta.

Agrega estas lineas al inicio de tu script y ejecutalo de nuevo.
Código PHP:
error_reporting(E_ALL);
ini_set('display_errors'1); 
¿Ahora que muestra?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/06/2011, 09:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Enviar email por PHP

Warning: include_once(Net/SMTP.php): failed to open stream: No such file or directory in /var/www/lib/mailer/Mail/smtp.php on line 348 Warning: include_once(): Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/lib/mailer/Mail/smtp.php on line 348 Fatal error: Class 'Net_SMTP' not found in /var/www/lib/mailer/Mail/smtp.php on line 349

veo que falta algo..
  #6 (permalink)  
Antiguo 29/06/2011, 01:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Enviar email por PHP

Qué significa ese error? Qué debo corregir?
  #7 (permalink)  
Antiguo 29/06/2011, 01:36
Avatar de fbedia88  
Fecha de Ingreso: enero-2011
Ubicación: Santander
Mensajes: 83
Antigüedad: 13 años, 4 meses
Puntos: 20
Respuesta: Enviar email por PHP

En que servidor estas trabajando?? por lo que parece no tienes instalado el servicio SMTP... si estas en localhost lo mas problable es que no lo tengas...

Mira, en este post http://www.forosdelweb.com/f18/descr...mailer-924045/ hay un ejemplo sencillo de envio de un mail usando la funcion mail() de php. Quizas te sirva de ayuda.

Un saludo.
  #8 (permalink)  
Antiguo 29/06/2011, 02:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Enviar email por PHP

El servidor donde está la web es un ubuntu Server y el servidor de correo es otro.
No condigo hacerlo funcionar con el phpmailer...
  #9 (permalink)  
Antiguo 29/06/2011, 02:29
Avatar de fbedia88  
Fecha de Ingreso: enero-2011
Ubicación: Santander
Mensajes: 83
Antigüedad: 13 años, 4 meses
Puntos: 20
Respuesta: Enviar email por PHP

Cita:
Iniciado por cslbcn Ver Mensaje
El servidor donde está la web es un ubuntu Server y el servidor de correo es otro.
No condigo hacerlo funcionar con el phpmailer...
probaste con el enlace que te pase?

pon esto:
Código PHP:
<?php
$nombre 
cslbcln
$correo ejemplo@gmail.com
$asunto asunto de prueba
$txt mensaje de prueba;

$aviso "";

    
// email de destino... pon aqui tu email
    
$email "[email protected]";
    
    
// asunto del email
    
$subject "Contacto de tupagina.es";
    
    
// Cuerpo del mensaje
    
$mensaje "---------------------------------- \n";
    
$mensaje.= "            Contacto               \n";
    
$mensaje.= "---------------------------------- \n";
    
$mensaje.= "NOMBRE:   $nombre \n";
    
$mensaje.= "EMAIL:    $correo \n";
    
$mensaje.= "ASUNTO:   $asunto \n";
    
$mensaje.= "---------------------------------- \n\n";
    
$mensaje.= " $txt \n\n";
    
$mensaje.= "---------------------------------- \n";
    
$mensaje.= "Enviado desde http://www.tupagina.es/contacto.php \n";
    
$mensaje.= "La direccion de correo es una cuenta generada automaticamente, no responda a esta direccion \n";
    
    
// headers del email
    
$headers "From: [email protected] \r\n";
    
    
// Enviamos el mensaje
    
if (mail($email$subject$mensaje$headers)) {
        
$aviso "<h1 style='direction:ltr !important;text-align:left !important;' class='componentheading'>Muchas gracias</h1><hr><br>Su mensaje fue enviado correctamente.<br>";
    } else {
        
$aviso "<h1 style='direction:ltr !important;text-align:left !important;' class='componentheading'>Se ha producido un error</h1><hr><br>Intentelo mas tarde.<br>";
    }


echo 
"$aviso";
?>
te tiene qe funcionar
  #10 (permalink)  
Antiguo 29/06/2011, 02:29
Avatar de vendoeninternet  
Fecha de Ingreso: marzo-2011
Ubicación: Bilbao
Mensajes: 57
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Enviar email por PHP

Cita:
Iniciado por cslbcn Ver Mensaje
El servidor donde está la web es un ubuntu Server y el servidor de correo es otro.
No condigo hacerlo funcionar con el phpmailer...
Yo uso phpmailer en mi equipo y no tengo servidor de correo instalado. En phpmailer te viene ejemplos de como usar con gmail, tienes que meter tus datos de gmail y tener abierto el puertoen el firewall. Has usado el test de phpmailer antes de usar tu código?
__________________
Mi web de anuncios para poner anuncios gratis en internet
  #11 (permalink)  
Antiguo 29/06/2011, 02:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Enviar email por PHP

vale vale ya está. Culpa mia.
El servidor de correo que tengo está con autenticación. he usado el ejemplo de phpmailer (test_smtp_advanced.php) y ya funciona perfectamente.

muchas gracias a todos!

Etiquetas: email
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.