Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2014, 11:13
Montpe
 
Fecha de Ingreso: mayo-2014
Ubicación: Sabadell
Mensajes: 1
Antigüedad: 10 años, 5 meses
Puntos: 0
Información Formulario que no funciona

Tengo este código en los 4 formularios de mi página Web, tengo alojamiento en Hostalia.com y desde hace unas semanas no me funcionan ni me llegan los formularios, desde Hostalia me dicen que tengo que meter unos códigos que me envían en los 4 formularios para que me funcionen bien......

Este es el código que tengo en los 4 formularios:

<?php


function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:Dinamic Group";
else $sCabeceras = "";
$sCabeceras .= "";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=UTF-8\n\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
header('Refresh: 2; url=../index.php');
//cambiar aqui el email
if (form_mail("[email protected]", "Formulario de Contacto",
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "<span style='text-align:center'>Estamos actualizando formularios, contactenos por E-mail o Telefono, disculpen las molestias.</span>";



?>


Este es el código de Hostalia que tengo que meter en los 4 formularios que tengo que tienen el código de arriba.

Código de Hostalia:

Estimado cliente.

Le facilitamos un formulario con un funcionamiento correcto para su plataforma.




error_reporting( E_ALL & ~( E_NOTICE | E_STRICT | E_DEPRECATED ) ); //Aquí se genera un control de errores "NO BORRAR NI SUSTITUIR"
require_once "Mail.php"; //Aquí se llama a la función mail "NO BORRAR NI SUSTITUIR"

$to = '[email protected]'; //Aquí definimos quien recibirá el formulario
$from = '[email protected]'; //Aquí definimos que cuenta mandará el correo, generalmente perteneciente al mismo dominio
$host = 'smtp.ejemplo.com'; //Aquí definimos cual es el servidor de correo saliente desde el que se enviaran los correos
$username = '[email protected]'; //Aqui se define el usuario de la cuenta de correo
$password = '123456Aa'; //Aquí se define la contraseña de la cuenta de correo que enviará el mensaje
$subject = 'Prueba formulario php'; //Aquí se define el asunto del correo
$body = 'Esto es una prueba para ver si funciona'; //Aquí se define el cuerpo de correo

//A partir de aquí empleamos la función mail para enviar el formulario

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));

$mail = $smtp->send($to, $headers, $body);

//Una vez aquí habremos enviado el mensaje mediante el formulario

//El siguiente codigo muestra en pantalla un mensaje indicando que el mensaje ha sido enviado y a que cuenta ES OPCIONAL desde Acens lo incluimos para verificar que el formulario de prueba esta funcionando

if (PEAR::isError($mail)) {
echo("

" . $mail->getMessage() . "

");
} else {
echo "Mensaje enviado desde POA a ". $to ;
}


?>


Espero que me puedan ayudar y decirme como meter los códigos de Hostalia.

Gracias y un saludo.