Foros del Web » Programando para Internet » PHP »

No se envia mail desde el Sitio

Estas en el tema de No se envia mail desde el Sitio en el foro de PHP en Foros del Web. Tengo un problema con un Metodo en PHP que envia un mail a la direccion especificada, que segun en el archivo PHP se lo indique, ...
  #1 (permalink)  
Antiguo 21/01/2010, 11:03
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
No se envia mail desde el Sitio

Tengo un problema con un Metodo en PHP que envia un mail a la direccion especificada, que segun en el archivo PHP se lo indique, pero me lo envia vacio, me fije en HTTP Watch y los resultados fueron estos:

Código PHP:
<br />
<
b>Warning</b>:  mail() [<a href='function.mail'>function.mail</a>]: SMTP server response550 Sender address must be specifiedin <b>hmfsw02web02dtcwin012audioestudio.netpublic_htmlcontactformSubmit.php</bon line <b>21</b><br />
sent=success 
Envia el metodo GET en PHP, lo que segun lei, no es tan seguro y fiable, pero en otro sitio envia un formulario similar en POST y no hay problema.

Que es lo que sucede con esto?
  #2 (permalink)  
Antiguo 21/01/2010, 11:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No se envia mail desde el Sitio

amigo, sin ver el código esta difícil que alguien saque su bola de cristal...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/01/2010, 11:10
 
Fecha de Ingreso: abril-2004
Ubicación: madrid
Mensajes: 31
Antigüedad: 20 años
Puntos: 2
Respuesta: No se envia mail desde el Sitio

hola Sirio-Astaroth,

prueba con esta función:

function enviarEmail( $email_emisor, $email_receptor, $asunto, $mensaje ){
$cabecera = "From: $email_emisor\r\n" .
"Reply-To: $email_emisor\r\n" .
"X-Mailer: PHP/" . phpversion();
return mail($email_receptor, $asunto, $mensaje, $cabecera);
}

saludos!
  #4 (permalink)  
Antiguo 21/01/2010, 11:11
Avatar de _-ZeuS-_  
Fecha de Ingreso: junio-2007
Ubicación: Quito, Ecuador! ;)
Mensajes: 100
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: No se envia mail desde el Sitio

Por que no usas PHPMailer para eso es más sencillo y fácil de usar
  #5 (permalink)  
Antiguo 21/01/2010, 11:21
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Estoy medio dormido, el script es este, aver donde esta la puta linea 21

<?php
$name = $_GET['Name'];
$email = $_GET['Email'];
$message = $_GET['Msg'];
$sendTo = "[email protected]";
$subject = "Mensaje desde el Website";
$headers = "From: $name <$email> \r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$msg = "Name: ".$name."\n\nE-mail: ".$email."\n\nMessage: ".$message."";
mail($sendTo, $subject, $msg, $headers);
echo "sent=success";
?>
  #6 (permalink)  
Antiguo 21/01/2010, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No se envia mail desde el Sitio

Cita:
Iniciado por Sirio-Astaroth Ver Mensaje
Estoy medio dormido, el script es este, aver donde esta la puta linea 21

[...]
¿ese es todo el script??, ¿o solo la parte de PHP??

porque si quieres que adivinemos, no creo que se pueda así...

mínimo pon todo el código que utilizas !!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/01/2010, 11:33
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

ese es todo el archivo del php, algo anda mal, no se donde...
  #8 (permalink)  
Antiguo 21/01/2010, 11:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No se envia mail desde el Sitio

no tiene sentido amigo, ahí no hay linea 21 ¡hay menos!!

por favor, reflexiona lo que haces y piensa de nuevo... ¿es ese el script que indica el error??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 21/01/2010, 11:39
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Noooo!!, es la respuesta del servidor, como mencione, hay un <a href=, esto es un maldito vinculo a no se que mierda de 'function.mail', y me tira un error smtp, el servidor de correos. encima la direccion no se entiende nada, hmfsw02web02dtcwin012audioestudio.netpublic_htmlco ntactformSubmit.php

me esta mareando esto, esta asi predifinida desde la plantilla que compre...
  #10 (permalink)  
Antiguo 21/01/2010, 11:43
 
Fecha de Ingreso: abril-2004
Ubicación: madrid
Mensajes: 31
Antigüedad: 20 años
Puntos: 2
Respuesta: No se envia mail desde el Sitio

debajo de:

$headers = "From: $name <$email> \r\n";

prueba de añadir:
$headers .= "Reply-To: $email\r\n";
  #11 (permalink)  
Antiguo 21/01/2010, 14:01
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

para que son los puntos antes del = probe y sigue sin funcionar.
  #12 (permalink)  
Antiguo 21/01/2010, 14:29
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Bueno, mi situacion es la siguiente:

Código PHP:
<?php
$name 
$_GET['Name'];
$email $_GET['Email'];
$message $_GET['Msg'];
$sendTo "[email protected]";
$subject "Mensaje desde el Website";
$headers  "From: $name <$email> \r\n";
$headers .= "Reply-To: $email\r\n";
$headers .= 'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' "\r\n";
$msg "Name: ".$name."\n\nE-mail: ".$email."\n\nMessage: ".$message."";
mail($sendTo$subject$msg$headers);
echo 
"sent=success";
?>
El codigo contiene (corregidme si me equivoco) variables con cadenas de texto con metodo de envio _GET al mail especificado y con encabezado de:
· Remitente: $headers = "From: $name <$email> \r\n";
· Direccion de Respuesta: "Reply-To: $email\r\n";
· Tipo de Extension: 'MIME-Version: 1.0' . "\r\n";
· Tipo de Contenido: 'Content-type: text/html; charset=utf-8' . "\r\n";
· Envio de datos seleccionados: "Name: ".$name."\n\nE-mail: ".$email."\n\nMessage: ".$message.""; mail($sendTo, $subject, $msg, $headers);

Hasta aqui vamos bien?, la cuestion que si me envian algunod datos, pero solo el encabezado, remitente y nombre, la descripcion y el asunto estan vacios, por lo que hay errores entre la recepcion de datos del PHP y el envio de los mismos.

Hay puntos que no aparecen como por ejemplo:
$headers .= "Reply-To: $email\r\n";
$headers = "Reply-To: $email\r\n";

Que diferencias hay entre ambas?
  #13 (permalink)  
Antiguo 22/01/2010, 01:42
 
Fecha de Ingreso: abril-2004
Ubicación: madrid
Mensajes: 31
Antigüedad: 20 años
Puntos: 2
Respuesta: No se envia mail desde el Sitio

el punto antes del igual sirve para concatenar, es lo mismo:
$headers = "From: $name <$email> \r\n" . "Reply-To: $email\r\n";

que:
$headers = "From: $name <$email> \r\n";
$headers .= "Reply-To: $email\r\n";

o también:
$headers = "From: $name <$email> \r\n";
$headers = $headers . "Reply-To: $email\r\n";


Sirio-Astaroth te recomendaria que en el formulario donde rellenas los datos para enviar el email le asignes el metodo de envio POST por defecto es en GET:
<form action="ejemplo.php" method="post">

luego en el script que nos has pegado arriba cambies todos los $_GET por $_POST.

te recomiendo hacerlo de esta manera porque lo normal es enviar los formularios por POST, si lo haces con GET al enviar el formulario veras todas las variables que has enviado en la url y a no ser que programes un buscador eso se ve un poco feo.


ya nos contaras que tal
  #14 (permalink)  
Antiguo 22/01/2010, 06:12
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Miquelcamps, modifique el Flash para que se envie con el metodo POST, lo mismo con el php, pero parece que responde por que el formulario me dice "mensaje enviado", y en mi mail me llega esto:
Asunto: Mensaje desde el Website
De: Remitente desconocido
Fecha: Vie, 22 de Enero de 2010, 8:59 am
Para: [email protected]
Prioridad: Normal

Name: E-mail: Message:

Es decir el problema continua.

La respuesta del Servidor es esto:
HTTP/1.1 200 OK
Connection: close
Date: Fri, 22 Jan 2010 11:59:10 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-Powered-By: PHP/5.1.2
Content-type: text/html

sent=success.

Como en Activeden no hay forma de saber si lo compre o no, no tengo soporte de esta Plantilla.
  #15 (permalink)  
Antiguo 23/01/2010, 06:37
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Cita:
Iniciado por miquelcamps Ver Mensaje
hola Sirio-Astaroth,

prueba con esta función:

function enviarEmail( $email_emisor, $email_receptor, $asunto, $mensaje ){
$cabecera = "From: $email_emisor\r\n" .
"Reply-To: $email_emisor\r\n" .
"X-Mailer: PHP/" . phpversion();
return mail($email_receptor, $asunto, $mensaje, $cabecera);
}

saludos!
Esto es todo el codigo que tengo que reemplazar?
  #16 (permalink)  
Antiguo 23/01/2010, 06:53
 
Fecha de Ingreso: abril-2004
Ubicación: madrid
Mensajes: 31
Antigüedad: 20 años
Puntos: 2
Respuesta: No se envia mail desde el Sitio

una cosa seguro que el nombre de los parametros esta bien?

no es lo mismo $_GET['Email'] que $_GET['email'], me esta extrañando mucho que no puedas leer ningun valor.

prueba de hacer esto al principio:
<?php

echo '<pre>';
print_r( $_POST );
echo '</pre>';

ahi podras ver los indices y valores de $_POST
  #17 (permalink)  
Antiguo 23/01/2010, 07:01
cce
 
Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Buenas, ya que estan hablando de enviar mail, tal vez me puedan ayudar.

Estoy trabajando en Linux gnun/debian con php-apache-postgresql y quisiera enviar mail. Tengo instalado exim4. Como puedo configurarlo para enviar mail? o Como envio email con este programa?

Gracias.-
  #18 (permalink)  
Antiguo 23/01/2010, 07:52
Avatar de Sirio-Astaroth  
Fecha de Ingreso: noviembre-2007
Mensajes: 88
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Cita:
Iniciado por miquelcamps Ver Mensaje
una cosa seguro que el nombre de los parametros esta bien?

no es lo mismo $_GET['Email'] que $_GET['email'], me esta extrañando mucho que no puedas leer ningun valor.

prueba de hacer esto al principio:
<?php

echo '<pre>';
print_r( $_POST );
echo '</pre>';

ahi podras ver los indices y valores de $_POST
Lo puse al principio como dijiste y no funciona, esta mal desde el principio,
  #19 (permalink)  
Antiguo 23/03/2010, 09:36
cce
 
Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Buenas, como les dije antes..Estoy trabajando con linux gnu/debian-php5-apache2..configure el exim4 segun vi en un articulo, puedo enviar correo desde la consola de linux. Pero cuando quiero enviar un correo con la funcion mail() de php no me funciona.
en el archivo php.ini sendmail_path = /usr/sbin/exim4, coloque eso.....

Alguna sugerencia?

Cualquier ayuda se los agradeceria.

Saludos.-
  #20 (permalink)  
Antiguo 23/03/2010, 10:12
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 9 meses
Puntos: 12
Respuesta: No se envia mail desde el Sitio

Acabo de responder en otro tema con un código para enviar un mail a mí me funciona esto prueba a ver:

Código PHP:
<?
     $titulo
"Tu asunto";
        
$texto '
        <html>
        <head>
           <title>Titulo</title>
        </head>
        <body>
        <h2>Titulo que se vera en el mail</h2>
        <br>El texto que quieras escribir
        </p>
        </body>
        </html>'
;

        
//para el envío en formato HTML
        
$cabecera"MIME-Version: 1.0\r\n";
        
$cabecera.= "Content-type: text/html; charset=iso-8859-1\r\n";

        
//dirección del remitente
        
$cabecera.= "From: tu nombre <[email protected]>\r\n";

        
//dirección de respuesta, si queremos que sea distinta que la del remitente
        
$cabecera.= "Reply-To:[email protected]\r\n";


        
$destino "[email protected]";
        
mail($destino ,$titulo,$texto,$cabecera); 
?>
Si te falla es posible que tengas la función mail desactivada o algo por el estilo.
__________________
Juego de navegador online
  #21 (permalink)  
Antiguo 24/03/2010, 07:23
cce
 
Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: No se envia mail desde el Sitio

Muchas gracias por tu respuesta. Probe lo que me pasaste y nada, no me funciona. He probado de todo, pero no logro hacer que me mande correo con la funcion mail() php5...lo que si logre es enviar desde la consola de linux...como puedo saber si tengo o no desactivada la funcion mail() o como la activo directamente?..

Saludos.-

Etiquetas: mail
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 14:22.