Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/03/2011, 21:47
opzina
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Enviar email con PHP

Cita:
Iniciado por vrael Ver Mensaje
Estoy intentando enviar un email con la función de PHP "email" pero por alguna razón no lo consigo. Este es mi código, que llamo desde el atributo action = email.php que tengo en un formulario. Es simplemente de prueba, para ver si puedo recibir correos.

email.php
Código PHP:
<?php
$para 
'[email protected]';
$titulo 'asf';
$mensaje 'Hola';
$cabeceras 'From: [email protected]"\r\n" .
    
'Reply-To: [email protected]"\r\n" .
    
'X-Mailer: PHP/' phpversion();

mail($para$titulo$mensaje$cabeceras);
?>
Además he revisado el php info de mi hosting y esto es lo que pone:
Código PHP:
sendmail_from                               no value    
sendmail_path                            
/usr/sbin/sendmail --i
mail
.force_extra_parameters     no value
smtp                                           localhost
smtp_port                                  25 
Mi hosting es zobyhost.com, y dicen claramente en su página principal:
  • PHP safe_mode Off
  • PHP send mail ACTIVADO
  • PHP Sockets y Curl ACTIVADOS
  • Soporte .htaccess

¿Qué es lo que estoy haciendo mal para que no me funcione? ¿Cuál es el fallo?
Para que funcione lo que indica paloma necesitas de la clase phpmailer, puedes buscarla y descargarla.

Con respecto a tu código, porque no pruebas en poner a mail dentro de una variable, así:
$enviar = mail(parametros);

y con un condicional compruebas esos parametros y si estan presentes (ver isset()) se envia y si no muestras otra vez el formulario.

Ejemplo:
Código PHP:
Ver original
  1.                     $subject = "Asunto";
  2.                     $message = "Contenido del mensaje";
  3.                     $cabeceras = "MIME-Version: 1.0\r\n";
  4.                     $cabeceras = "Content-type: text/html; charset=iso-8859-1\r\n";
  5.                     $cabeceras = "From: Administrador <[email protected]>\r\n";
  6.                     $enviar = @mail($to, $subject, $message, $cabeceras);
  7.                     if (isset($to) && isset($subject) && isset($message) && isset($cabeceras) && isset($enviar)) {
  8.                         echo "<h2>Le hemos enviado un correo electrónico </h2>";
  9.                     } else {
  10.                         echo "<h2>Error de envio</h2>";
  11.                     }