Foros del Web » Programando para Internet » PHP »

Enviar un correo con PHP

Estas en el tema de Enviar un correo con PHP en el foro de PHP en Foros del Web. Hola a todos, quiero que mi aplicación envíe correos. Para ello sé que tengo que utilizar la función mail. A continuación muestro el script de ...
  #1 (permalink)  
Antiguo 11/06/2008, 03:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Enviar un correo con PHP

Hola a todos,
quiero que mi aplicación envíe correos. Para ello sé que tengo que utilizar la función mail. A continuación muestro el script de prueba que estoy haciendo:

Código PHP:
<?php
echo"Enviar un correo a :[email protected] desde: [email protected]</br>";

$para="[email protected]";
$asunto="Dar de baja a un profesor";
$mensaje="Usted ha sido dado de baja, por el sistema";
$cabeceras 'From: direccion_vá[email protected]';

if(
mail($para,$asunto,$mensaje,$cabeceras)==true)
{
    echo
"Mensaje bién enviado</br>";
}
else
{
    echo
"Mensaje NO enviado</br>";
}

?>
NOTA: las direcciones de correo que he puesto aquí, no son las originales. Pero las que he puesto son correctas.

Pero me da el siguiente error:

Código PHP:
Warningmail() [function.mail]: Failed to connect to mailserver at "localhost" port 25verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() 
He modificado el fichero php.ini (todos los que vienen al instalar XAMPP), en la parte:

[mail function]
; For Win32 only.
SMTP = mail.eniac.es
smtp_port = 25

; For Win32 only.
;sendmail_from = [email protected]

Pero a pesar de ello me sale el mismo problema. También he probado a modificar sendmail_from = [email protected] (sólo en uno de los php.ini)
y no funciona.

¿Alguién sabe qué pasa?
  #2 (permalink)  
Antiguo 11/06/2008, 04:08
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Enviar un correo con PHP

Pero el error es claro, en tu servidor local no tienes el servicio de correo funcionando para que la función vaya bien.

Tienes la alternativa de utilizar una clase para el envío de mail donde puedes indicarle cual es el servidor smtp que vas a utilizar a parte de las diferentes propiedades de un mensaje de e-mail.

Echale un vistazo a este enlace:

http://www.google.es/search?hl=es&q=...G=Buscar&meta=

Un saludo.
__________________
www.pensandoenred.com
  #3 (permalink)  
Antiguo 11/06/2008, 04:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Enviar un correo con PHP

Te dejo un ejemplo de como se usa phpmailer, es una clase para enviar email en php. Creo que es la clase a la que se refiere MarioNunes

  #4 (permalink)  
Antiguo 11/06/2008, 04:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Enviar un correo con PHP

Y, ¿cómo puedo configurar mi servidor para poder utilizar la función mail?

Vale voy a probar con eso último.
  #5 (permalink)  
Antiguo 11/06/2008, 04:37
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Enviar un correo con PHP

Gracias nx00, no recordaba el nombre de la clase

Pues para que funcione la función mail en tu sevidor, tienes que configurar un servidor de correo en tu máquina si no me equivoco

Pero usa la clase que te ha mencionado nx00, y los datos de conexión a tu servidor de correo como si de un cliente de correo se tratara.

Salu2.
__________________
www.pensandoenred.com
  #6 (permalink)  
Antiguo 11/06/2008, 05:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Enviar un correo con PHP

Creo que no estoy utilizando bién esta clase, porque no me funciona. Voy a poner lo que he hecho:

Código PHP:
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->Host "mail.eniac.es";
$mail->From "[email protected]";
$mail->FromName "Rodrigo Sánchez Blanco";
$mail->Subject "Dar de baja a un profesor";
$mail->AddAddress("[email protected]","Profesor1");

$body  "Hola <strong>amigo</strong><br>";
$body .= "probando <i>PHPMailer<i>.<br><br>";
$body .= "<font color='red'>Saludos</font>";
$mail->Body $body;
$mail->AltBody "Hola amigo\nprobando PHPMailer\n\nSaludos";
$mail->Send();

if(!
$mail->Send())
        echo 
"There has been a mail error sending to " $row["email"] . "<br>";
?>
Entiendo que
Código PHP:
$mail->Host 
, es mi servidor SMTP, ¿no?.

¿No haría falta mas datos?

Gracias por las respuestas.
  #7 (permalink)  
Antiguo 11/06/2008, 05:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Enviar un correo con PHP

Creo que el fallo puede ser que no estoy dando bién la ruta del programa que manda el correo. Porque leyendo la documentación de PHPMailer, he encontrado esto:

Código PHP:
string $Sendmail "/usr/sbin/sendmail" (line 115
Sets the path of the sendmail program
Y si mi inglés no me falla, quiere deicir que tengo que dar la ruta del programa que manda el correo. Lo que pasa es que he puesto la ruta:

Código PHP:
$mail->Sendmail "'C:\Program Files (x86)\Windows Live\Mail\'"
Y no funciona. Seguramente porque esta mal. ¿Qué opinais?
  #8 (permalink)  
Antiguo 11/06/2008, 07:15
Avatar de Emirodgar  
Fecha de Ingreso: junio-2008
Mensajes: 1.255
Antigüedad: 15 años, 10 meses
Puntos: 121
Respuesta: Enviar un correo con PHP

¿Qué fallo te está dando ahora?
  #9 (permalink)  
Antiguo 11/06/2008, 09:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Enviar un correo con PHP

No me esta enviando ningún correo.

Corrijo, no me envía correos a cuentas de correo distintas de las que me proporciona mi servidor SMTP. Es decir, que ni hotmail,yahoo...pero sí es capaz de enviarlo a la misma dirección del que sale. Ademas no hace falta poner la ruta del programa que manda los correos.

Última edición por centrion_75; 11/06/2008 a las 09:18
  #10 (permalink)  
Antiguo 11/06/2008, 09:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Enviar un correo con PHP

Vale ya he encontrado el problema. Se me había olvidado dar el nombre de usuario de la cuenta POP y su respectiva contraseña.

Aquí dejo un enlace, con un ejemplo muy bién explicado por si le interesa a alguién:

http://www.programacion.net/php/articulo/phpmailer/

Gracias a todos por la ayuda.
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 22:27.