Enviar email con archivos adjuntos en PHP - FORO - www.unViciomas.com

Pertenece al Grupo " Visitante "     MP MP( )   
Elige un Tema y Crea tu Post!




  • Página 1 de 1
  • 1
Enviar email con archivos adjuntos en PHP
unViciomás
Fecha: Miércoles, 22/06/2011, 1:09 PM | Link del Mensaje # 1

Oficial
STATUS: Offline
POSTS:
2215

PREMIOS:
0

REPUTACIÓN:
2

OBSERVACIONES:

RANGO:

Enviar email con archivos adjuntos en PHP


Formulario.html:

Quote
<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>E-mail
<input type='text' name='email' id='email'>
</p>
<p>Asunto
<input type='text' name='asunto' id='asunto' />
</p>
<p>Mensaje
<textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
</p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar'>
</p>
</form>


Como podéis ver, en el form del código anterior, se manda a enviar.php, ese archivo es el que va a mandar el email con el archivo adjunto. Aquí os dejo el codigo

enviar.php:

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

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
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=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);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

//cambiar aqui el email
if (form_mail("poner_email@deDestino.com", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "Su formulario ha sido enviado con exito";
?>


Tan solo debemos cambiar el email que aparece por el nuestro y ya estará listo.




AYUDA A LA PAGINA, REGISTRATE!!

Un Vicio Mas - File Sharing


Compartir en:
 
  • Página 1 de 1
  • 1
Búscar:






Registrate y sube tus Posts Gracias por Registrarte! Ya puedes Subir lo que mas te Guste!!



Copyright UnVicioMás © 2024 Contáctenos