Foros del Web » Programando para Internet » PHP »

problemas con un formulario para mail y cuenta gmail

Estas en el tema de problemas con un formulario para mail y cuenta gmail en el foro de PHP en Foros del Web. hola gente, mucho gusto antes que nada. les cuento que tengo un problema con un formulario que hice para mi sitio web. El problema es ...
  #1 (permalink)  
Antiguo 23/07/2006, 14:28
Avatar de AriX  
Fecha de Ingreso: marzo-2006
Mensajes: 9
Antigüedad: 18 años, 1 mes
Puntos: 0
problemas con un formulario para mail y cuenta gmail

hola gente, mucho gusto antes que nada.
les cuento que tengo un problema con un formulario que hice para mi sitio web.
El problema es que note que el encabezado ($headers) no lo toma gmail. si bien cuando alguien envia un mensaje, llega a una cuenta del sitio ([email protected]), el problema esta en que le hice una respuesta automática. si algun visitante ingresa una cuenta de gmail, cuando revise la respuesta automatica en su cuenta vera que aparece como "remitente desconosido" como si no reconosiera el encabezado.

aqui les dejo el diseño de formulario:
hoycastelar.com.ar / contacto.php

y aqui el codigo de form.php:
<?
if ($nombre=="" or $nombre==" ")
{
$onload = "MM_popupMsg('ha ocurrido un error, el email no podrá ser enviado');MM_goToURL('parent','errores/vinculoroto.php');return document.MM_returnValue";
}
else
{
$destinatario = $_POST['destinatario'];
$asunto = $_POST['asunto'];

$cuerpo = "Nombre: ".$_POST['nombre']."\n";
$cuerpo .= "Apellido: ".$_POST['apellido']."\n";
$cuerpo .= "Empresa: ".$_POST['empresa']."\n";
$cuerpo .= "Email: ".$_POST['email']."\n";
$cuerpo .= "Teléfono: ".$_POST['telefono']."\n";
$cuerpo .= "Mensaje: ".$_POST['mensaje']."\n";

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

//dirección del remitente
$headers .= "From: ".$_POST['nombre']." <".$_POST['email'].">\r\n";

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

//direcciones que recibián copia
$headers .= "Cc: \r\n";

//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected]\r\n";

echo $cuerpo;

mail($destinatario,$asunto,$cuerpo,$headers)
?>

<?
$destinatario = $_POST['email'];
$asunto = "Confirmación de llegada de mail";

$cuerpo = "Gracias por contactarse con nosotros, su consulta será atendida a la brevedad.
Recuerde que esta respuesta automática tiene como propósito confirmar que su mail a llegado a nuestra base de datos con éxito.
La próxima vez que envíe un mensaje desde nuestro sitio, verifique esta respuesta automática para asegurarse de que su mail ha llegado. En caso contrario vuelva a redactarlo desde:

hoycastelar.com.ar / contacto.php


Muchas Gracias por contactarse.

Atte.
HOY CASTELAR";


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

//dirección del remitente
$headers .= "From: Hoy Castelar <".$_POST['destinatario'].">\r\n";

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

//direcciones que recibián copia
$headers .= "Cc: \r\n";

//direcciones que recibirán copia oculta
$headers .= "Bcc: \r\n";

mail($destinatario,$asunto,$cuerpo,$headers);

$onload = "MM_popupMsg('Gracias por su mensaje! Verifique en su cuenta de correo la respuesta autom&aacute;tica.');MM_goToURL('parent','contacto .php');return document.MM_returnValue";
}

?>


un saludo y espero que me puedan ayudar

adios!
  #2 (permalink)  
Antiguo 10/12/2007, 06:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: problemas con un formulario para mail y cuenta gmail

Hola amigo tengo exactamente el mismo problema que tu,
cuandoel mail va con direccion a una casilla de gmail

me aparece una respueta automatica
que dice recipient desconocido

solucionaste tu problema??
me podrias contar si encontraste la solucion

SAlu2, Serius
  #3 (permalink)  
Antiguo 10/12/2007, 12:48
Avatar de AriX  
Fecha de Ingreso: marzo-2006
Mensajes: 9
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: problemas con un formulario para mail y cuenta gmail

la verdad que hace mil años que postie esta pregunta y nadie me respondió, así que creeme que te comprendo y voy a intentar responderte.

bueno, en su momento no lograba hacer que gmail tomara el encabezado, y lo que hice por mucho tiempo fue usar una libreria llama "phpmailer" que lo que hace es abrir un puerto smtp y enviar un, NO desde el hosting, sino desde el servidor al cual pertenece la cuenta. entonces gmail reconoce dicho encabezado y el mensaje llega bien.

muchos hostings me tiraron la bronca porque me decian que el phpmailer tenia un bug que permitia mandar spam. asi que entre idas y vueltas volvi al viejo en cabezado.

hasta que de pronto un día reescribí todo el código a mano empezando de 0. y milagrosamente los encabezados empezaron a funcionar bien en GMAIL.

te posteo el código y vemos que pasa ok?





$destinatario = "[email protected]";
$asunto = $_POST['easunto'];

$cuerpo = "Usuario: ".$_POST['eusuario']."\n";
$cuerpo .= "Nombre: ".$_POST['enombre']."\n";
$cuerpo .= "Apellido: ".$_POST['eapellido']."\n";
$cuerpo .= "Email: ".$_POST['eemail']."\n";
$cuerpo .= "Mensaje: ".$_POST['emensaje']."\n";

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

//dirección del remitente
$headers .= "From: ".$_POST['enombre']." <".$_POST['eemail'].">\r\n";

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

//direcciones que recibián copia
//$headers .= "Cc: \r\n";

//direcciones que recibirán copia oculta
//$headers .= "Bcc: [email protected]\r\n";

mail($destinatario,$asunto,$cuerpo,$headers)



en este script, el mail llega a una cuenta de GMAIL como si fuera enviado desde la cuenta que el usuario ingresó como propia.

espero que te sirva, sinceramente no tiene nada del otro mundo. pero funciona.

adios
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 19:29.