Hola a todos(cuanto tiempo, el verano)
el codigo que pongo a continuación, creía que funcionaba pero aunque me envia el email con el formulario de forma correcta, lo que no me hace es enviar el archivo adjunto.
Os pongo el codigo a ver si veis el fallo:
<?php
$destinatario = "
[email protected]";
$asunto = $_POST['pro'];
if ($_POST['pro'] != "" AND $_POST['p_contacto'] != "" AND $_POST['t_contacto'] != "" AND $_POST['e_contacto'] != "")
{
$cuerpo = '
----------------------------------------------------------------------------
Proveedor: '.$_POST['pro'].'
Persona de Contacto: '.$_POST['p_contacto'].'
Email: '.$_POST['e_contacto'].'
Telefono: '.$_POST['t_contacto'].'
----------------------------------------------------------------------------
';
$sAdjuntos = "";
if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$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=iso-8859-1\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);
}
//dirección del remitente
$header = "From:
[email protected] \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
mail($destinatario,$asunto,utf8_decode($cuerpo),$h eader);
echo ' - Formulario enviado, Gracias. - ';
/*echo $_POST['para'];
echo $_POST['asunto'];
echo $_POST['mensaje']. ' - ' .$_POST['nombre']. ' - ' .$_POST['email']. ' - ' .$_POST['telefono']; */
echo'<br/>';
echo ' - Ahora puede cerrar esta ventana - ';
}
else
{
echo ' - Ha quedado sin rellenar alguno de los campos obligatorios. - ';
echo $_POST['tour'].','.$_POST['p_contacto'].','.$_POST['t_contacto'].','.$_POST['e_contacto'].','.$_POST['logo'];
}
?>
Un saludo.