Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema: enviar mail desde formulario con ajax

Estas en el tema de Problema: enviar mail desde formulario con ajax en el foro de Frameworks JS en Foros del Web. Hola compañeros, tengo este problema y ya nose que mas probar para solucionarlo, a ver si me podeis ayudar. index.php Código: <script type="text/javascript"> function EnviarEmail(obj) ...
  #1 (permalink)  
Antiguo 13/05/2011, 04:53
Avatar de jorjo  
Fecha de Ingreso: abril-2007
Ubicación: España
Mensajes: 90
Antigüedad: 13 años, 5 meses
Puntos: 1
Pregunta Problema: enviar mail desde formulario con ajax

Hola compañeros, tengo este problema y ya nose que mas probar para solucionarlo, a ver si me podeis ayudar.

index.php
Código:
<script type="text/javascript">
function EnviarEmail(obj)
{
		alert("Hola");

	if (obj.nombre.value == ""){
		alert("Debes introducir un nombre");
		obj.nombre.focus();
		return;
	}
	if (obj.email.value == ""){
		alert("Debes introducir un e-mail válido");
		obj.email.focus();
		return;
	}
	CargarDatosContacto(obj.nombre.value, obj.email.value, obj.comentario.value);
	alert("E-mail enviado con éxito");
}

function CargarDatosContacto(nombre, email, comentario)
{
	// Obtengo la capa donde se muestran las respuestas del servidor
	var capa = document.getElementById("content-wrapper");
	// Creo el objeto AJAX
	var ajax = NuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML = "Cargando contenido...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", "datos.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("tipo=Contacto&nombre=" + nombre + "&email=" + email + "&comentario=" + comentario);

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState == 4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML = ajax.responseText;
		}
	}
}
<scrip/>
contenido.php
Código PHP:
<form action="javascript:EnviarEmail(document.forms.formcontacto)" method="post" name="formcontacto">
 <tr><td width="70" height="10">Nombre (*):</td><td><input type="text" size="34" maxlength="40" name="nombre"></td></tr>
 <tr><td height="10">E-mail (*):</td><td><input type="text" size="34" maxlength="40" name="email"></td></tr>
 <tr><td height="10">Mensaje:</td><td><textarea cols="31" rows="2" name="comentario"></textarea></td></tr>
 <tr><td height="10"></td><td><input type="submit" value="Enviar"></td></tr>
 <tr><td colspan="2">* Campos obligatorios</td></tr>
</form>
<?php 
  
if (!$HTTP_POST_VARS){
    echo 
"error";
    }else{
 
//Recibiendo formulario, componiendo cuerpo... 
   
$cuerpo "Formulario de contacto\n\n"
   
$cuerpo .= "Nombre: " $_POST["nombre"] . "\n"
   
$cuerpo .= "Email: " $_POST["email"] . "\n"
   
$cuerpo .= "Comentario: " $_POST["comentario"] . "\n"
                                
//Se manda el correo
   
mail("[email protected]","Formulario Contacto Web"$cuerpo'From: Contacto Web' "\r\n" 'Reply-To: ' $_POST["email"]);
      } 
?>
En la direccion mail tengo otra, claro.

Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 14/05/2011, 16:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 12 años, 2 meses
Puntos: 1532
Respuesta: Problema: enviar mail desde formulario con ajax

$HTTP_POST_VARS es un método depreciado en versiones recientes de PHP, revisa y actualiza el código, además la función mail() requiere de configuraciones especiales de acuerdo al OS del server, investiga al respecto.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, mail, formulario
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 09:15.