Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: binario010101 en 24 Febrero 2013, 04:13 am



Título: enviar correo con formato html
Publicado por: binario010101 en 24 Febrero 2013, 04:13 am
hola.

quiero hacer que el imput de nombre sea el correo que envia y el de correo el que resive y el area de texto texarea me permita insertar mensajes con formato html

gracias

Código:
<html><head>
 
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>correo</title>

 
</head><body>
<br>

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

correo - 01.php
Código:
<?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("codigobinario010101@hotmail.com", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "Su formulario ha sido enviado con exito";
?>


Título: Re: enviar correo con formato html
Publicado por: engel lex en 24 Febrero 2013, 05:29 am
explicate mejor :s


Título: Re: enviar correo con formato html
Publicado por: дٳŦ٭ en 24 Febrero 2013, 10:25 am
explicate mejor :s

ajajja iba a poner lo mismo!!


Título: Re: enviar correo con formato html
Publicado por: binario010101 en 24 Febrero 2013, 14:26 pm
este formulario tiene un el campo

Código:
<p>Nombre <input name="Nombre" id="Nombre" type="text">

lo quiero cambiar por

Código:
<p>Correo <input name="correo" id="correo" type="text">

quiero que  Correo sea la direcion de destino  del formulario ya que como lo tengo en el php actualmente esta el correo de destino. ahi es donde esta mi problema no se como modificar el php para lograr lo que quiero.

aparte quiero que el
Código:
<p>Mensaje 
<textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>

bueno en este area se escribe el mensaje pero actualmente solo puede escribirse texto plano y quiero porder insertar texto plano y texto html


gracias


Título: Re: enviar correo con formato html
Publicado por: #!drvy en 24 Febrero 2013, 16:03 pm
Citar
quiero que  Correo sea la direcion de destino  del formulario ya que como lo tengo en el php actualmente esta el correo de destino

Me puedes decir que sentido tiene esta frase ?


Saludos


Título: Re: enviar correo con formato html
Publicado por: binario010101 en 24 Febrero 2013, 18:44 pm
"Nombre" es un imput del formulario lo quiero cambiar por "correo". entonces quiero que el correo electronico que se escriba en  "correo" sea el destino del mensaje.

tengo esto
Código:
<html><head>
 
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>correo</title>

 
</head><body>
<br>

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

lo quiero modificar a esto

Código:
<html><head>
 
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>correo</title>

 
</head><body>
<br>

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

como ves cambie solo esta parte

Código:
<p>Correo <input name="correo" id="correo" type="text">

porque quiero que el correo electronico que se escriba en "correo" sea  quien envia el mensaje. el probrema es que tengo que modificar el php para eso y no se como hacerlo

gracias


Título: Re: enviar correo con formato html
Publicado por: Luna71c0 en 25 Febrero 2013, 16:29 pm
"porque quiero que el correo electronico que se escriba en "correo" sea  quien envia el mensaje. el probrema es que tengo que modificar el php para eso y no se como hacerlo"

Osea tu dices

Campo correo = Fulanito@Fulanitosweb.com

y luego recibes el mail de "Fulanito@fulanitosweb.com"?

O al revez? :B

Citar
"Nombre" es un imput del formulario lo quiero cambiar por "correo". entonces quiero que el correo electronico que se escriba en  "correo" sea el destino del mensaje.

Citar
porque quiero que el correo electronico que se escriba en "correo" sea  quien envia el mensaje. el probrema es que tengo que modificar el php para eso y no se como hacerlo

PERDON si entiendo mal, pero en esas dos citas dices cosas diferentes xD




Título: Re: enviar correo con formato html
Publicado por: #!drvy en 25 Febrero 2013, 17:46 pm
A ver,

Según el código que tienes, no hace falta agregarle otro campo porque el campo "Email" es precisamente para lo que pides.

Tienes 5 campos.

Nombre -> Que se mostrara en el correo.
Email -> De quien se envía el correo.
Asunto -> Titulo del correo.
Mensaje -> Contenido del correo.
Archivo -> No hace falta explicación.

¿ Por qué quieres agregarle otro campo que haga lo mismo ?

A parte de esto:
Citar
quiero hacer que el imput de nombre sea el correo que envia y el de correo el que resive y el area de texto texarea me permita insertar mensajes con formato html


Pues, en vez de solo querer, puedes aprender. Mira este enlace: Como enviar correos con php (http://lmgtfy.com/?q=como+enviar+correos+con+php)

Saludos


Título: Re: enviar correo con formato html
Publicado por: binario010101 en 25 Febrero 2013, 22:07 pm
si amigo ya esta el campo de quien envia lo que quiero es agregar un campo para quien resive.
gracias