marting_234
05-oct-2007, 06:16
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:
<form name='formulario' id='formulario' method='post' action='mail_adjuntos.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>Apellidos <input type='text' name='Apellidos' id='Apellidos'></p>
<p>
E-mail <input type='text' name='E-mail' id='E-mail'></p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar formulario'>
</p>
</form>
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 :
<?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.
__________________________________________________ _________________________
Tengo mi pagina en http://econohosting.com.ar hosting gratis sin publicidades
http://Altayagoo.com super buscador tematico software freeware software gratis software demo peliculas divx subtitulos peliculas tapas cd
Aclaro como funciona por si alguien lo necesita:
Esto lo puse en un archivo htm y lo llame formulario:
<form name='formulario' id='formulario' method='post' action='mail_adjuntos.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>Apellidos <input type='text' name='Apellidos' id='Apellidos'></p>
<p>
E-mail <input type='text' name='E-mail' id='E-mail'></p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar formulario'>
</p>
</form>
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 :
<?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.
__________________________________________________ _________________________
Tengo mi pagina en http://econohosting.com.ar hosting gratis sin publicidades
http://Altayagoo.com super buscador tematico software freeware software gratis software demo peliculas divx subtitulos peliculas tapas cd