Codigo para enviar un formulario con un adjunto
-
Codigo para enviar un formulario con un adjunto, y funciona perfecto.
Copio y Pego el codigo y html y el segundo codigo que utiliza en php.
Aclaro como funciona por si alguien lo necesita:
Esto lo puse en un archivo htm y lo llame formulario:
Lo que esta mas abajo lo puse en un archivo php y lo llame (tiene que llamarse si o si): mail_adjuntos.php :
Esto lo puse en un archivo php y lo llame: mail_adjuntos.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));
}
//Ejemplo de como usar:
if (form_mail("mail_de_destino@hotmail.com","Asunto del mensaje",
"Los datos introducidos en el formulario son:\n\n", "mail_de_origen@mail.com"))
echo "Su formulario ha sido enviado con exito";
?>
Termino un renglon arriba el codigo php. Solo tienen que reemplazar mail_de_destino@hotmail.com por un mail de ustedes a donde llegara todo el formulario con el adjunto.
En: Asunto del mensaje, ponen como quieren que figure el asunto:
Y por ultimo: mail_de_origen@mail.com, aca ponen otra direccion de mail que tengan ustedes, esta haria una funcion como de ser la cuenta desde donde se estaria enviando el formulario, (no tiene nada que ver con la dire que despues coloque el usuario en el formulario, la del formulario funcionando es una cuenta que cada usuario quiera colocar).
Ej tengo la cuenta 123@yahoo.com y 123@hotmail.com las dos son mias y una la coloco reemplazando en donde dice: mail_de_destino@hotmail.com y la otro en donde dice: mail_de_origen@mail.com
Quedaria: mail_de_destino@hotmail.com reemplazo por: 123@yahoo.com aca es donde quiero que lleguen el formulario y el adjunto.
mail_de_origen@mail.com reemplazo por: 123@hotmail.com por ej.
Espero a alguien le sirva la explicacion.
Saludos
Un abrazo.
__________________________________________________ _________________________
http://Altayagoo.com super buscador tematico autos automoviles automotores audiocar talleres repuestos -
Muy ien el ejemplo, sin embargo se e hace más efectivo usar la clase PHPMailer. Aqui dejo un enlace donde se explica muy bien el funcionamiento de esta clase: http://www.programacion.net/php/articulo/phpmailer/
-
Hola lara82 que parte del html no podes cambiar, podes pegar todo el html que tenes y decirnos que parte queres cambiar y no podes?
Espero que entre todos podamos ayudarte, si podes separa y pone primero todo el html y despues pone aparte la parte que estas tratando de cambiar y no podes, asi entre todos lo vemos y tratamos de ayudarte.
Saludos
__________________________________________________ _________________________
http://Altayagoo.com super buscador tematico chistes bromas cuentos para chicos novelas -
Muy buena la función prensavoces, anda perfecto.
__________________________________________________ _________________________
http://Altayagoo.com super buscador tematico chistes bromas cuentos para chicos novelas[/quote] -
Lo primero saludo a todos.
He probado el codigo y me funciona perfectamente despues de realizar las modificaciones pertinentes al aspecto general del formulario.
El problema me ha venido al intentar enviar ficheros grandes, al intentar enviar ficheros de entre 3 y 5 MB da la respuesta de enviado con exito, recibo el correo en la cuenta, pero el adjunto no viene. Con ficheros pequeños no hay ningun problema.
Alguna idea para un torpe cronico en esta materia.
Saludos Brezo.
