Foros del Web » Programando para Internet » PHP »

fallas con envio mail

Estas en el tema de fallas con envio mail en el foro de PHP en Foros del Web. HOla a todos!!!! tengo este codigo para envio mail, si me llegan los mails pero me llegan mal...... De: <[email protected]> Responder a: [email protected] Enviado el: ...
  #1 (permalink)  
Antiguo 25/10/2005, 19:27
Avatar de ryu_on_ice  
Fecha de Ingreso: abril-2005
Mensajes: 315
Antigüedad: 19 años
Puntos: 0
fallas con envio mail

HOla a todos!!!!

tengo este codigo para envio mail, si me llegan los mails pero me llegan mal......

De: <[email protected]>
Responder a: [email protected]
Enviado el: Miércoles, 26 de Octubre de 2005 02:06:18 a.m.
Para: [email protected]
Asunto: info


el problema es que no me pone bien los datos como los meto en el formulario....
me pone solo en nombre (en este caso use Fulanito)y me lo junta con mail...pero el mail lo pone...<[email protected]> y pues no deberia ser asi...........es el primero que hago para texto HTML....porfas si alguien ve en que me falla, espero su ayuda!!!

este es el codigo que toy usando:


Código PHP:
<? if ($HTTP_GET_VARS["accion"] == "") { 
?> 

<form method="post" action="enviar_mail4.php?accion=enviar" name="envio_mail"> 
        <table width="670" border="0" cellspacing="2" cellpadding="4">
          <!--DWLayoutTable-->
          <tr> 
            <td width="69" height="30" align="right" valign="top"><b>Nombre:</b></td>
            <td colspan="4" valign="top"><input name="nombre" type="text" id="nombre" size="50"></td>
            <td width="236">&nbsp;</td>
          </tr>
          <tr> 
            <td height="30" valign="top"><div align="right"><strong>Direccion:</strong></div></td>
            <td colspan="4" valign="top"><input name="direccion" type="text" id="direccion" size="50"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="30" valign="top"><div align="right"><strong>Ciudad:</strong></div></td>
            <td colspan="2" valign="top"><input name="ciudad" type="text" id="ciudad" value="" size="18"></td>
            <td width="59" valign="top"><strong>Estado:</strong></td>
            <td width="143" valign="top"><input name="estado" type="text" id="estado" size="18"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="49" valign="top"><div align="right"><strong>Tels con lada:</strong></div></td>
            <td colspan="4" valign="top"><span class="Estilo1">
              <input name="tels" type="text" id="tels" size="30"> 
              </span></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="30" align="right" valign="top"><b>-mail:</b></td>
            <td colspan="4" valign="top"> <input name="mail" type="text" id="mail" size="50">            </td>
            
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="30" align="right" valign="top"><b>Asunto:</b></td>
            <td colspan="4" valign="top"> <input name="asunto" type="text" size="50"></td>
            
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="3"></td>
            <td width="63"></td>
            <td width="38"></td>
               </tr>
          <tr>
            <td height="33" align="right" valign="top"><b>Mensaje:</b></td>
            <td colspan="4" rowspan="2" valign="top"> <textarea name="mensaje" cols="50" rows="5" id="textarea"></textarea></td>
          
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="75">&nbsp;</td>
          
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="32">&nbsp;</td>
            <td valign="top"> <input name="enviar" type="submit" value="Enviar"></td>
          </tr>
          <tr>
            <td height="6"></td>        
          </tr>
        </table>
</form>


<!-- envío del formulario y acuse de envío o información de errores --> 
<? 



elseif (
$HTTP_GET_VARS["accion"] == "enviar") { 

// recojo las variables que vienen desde el formulario 
$nombre $HTTP_POST_VARS["nombre"]; 
$direccion $HTTP_POST_VARS["direccion"]; 
$ciudad $HTTP_POST_VARS["ciudad"]; 
$estado $HTTP_POST_VARS["estado"]; 
$tels $HTTP_POST_VARS["tels"]; 
$mail $HTTP_POST_VARS["mail"]; 
$asunto $HTTP_POST_VARS["asunto"]; 
$mensaje $HTTP_POST_VARS["mensaje"]; 
$datos $HTTP_POST_VARS["datos"]; 

// si los campos no están vacíos    
  
if ($nombre != "" && $direccion != "" && $ciudad != "" && $tels != "" && $mail != "") { 


     
$datos "Hola estos son mis datos:" $n_destinatario ":<br>"
     
$datos .= $direccion "<br>"
     
$datos .= $ciudad $estado "<br>"
     
$datos .= $tels "<br>"
     
$datos .= $mail "<br>"
     
$datos .= $mensaje


//indica que el mail se envía en formato HTML 

     
$encabezado "From:".$nombre."\nReply-To:".$mail."\n"
     
$encabezado .= "X-Mailer:PHP/".phpversion()."\n"
     
$encabezado .= "Mime-Version: 1.0\n"
     
$encabezado .= "Content-Type: text/html"

//envía el mensaje 

     
mail("[email protected]",$asunto,$datos,$encabezado); 

//Informa al usuario que se ha enviado el mensaje 

     
echo "<b>El mensaje ha sido enviado</b>.<br>Gracias por escribirnos!"

     } 

//si existen campos vacíos, envía un mensaje de error 

     
else { 

     echo 
"Por favor, es necesario que completes todos los campos.<br>"
     echo 
"<a href='enviar_mail4.php'>Click aquí</a> para corregir los campos."

     } 


?>

saludos!!!

Última edición por ryu_on_ice; 25/10/2005 a las 23:00
  #2 (permalink)  
Antiguo 26/10/2005, 23:37
Avatar de ryu_on_ice  
Fecha de Ingreso: abril-2005
Mensajes: 315
Antigüedad: 19 años
Puntos: 0
HOla todos ya pude solucionar el problemita!!

como puedo hacer que ya en el mail, los datos obtenidos del formulario me aparecen pegados(sin espacios entre las palabras)

Nombre:Carlos
Direccion:calle # 2
Ciudad:GDLJalisco <----------como los separo??????
Telefono(con lada incluida) :324143124141

este es el codigo...

$datos .= "<b>Nombre:</b>" . $nombre . "<br>";
$datos .= "<b>Direccion:</b>" .$direccion . "<br>";
$datos .= "<b>Ciudad:</b>".$ciudad . $estado . "<br>";
$datos .= "<b>Telefono(con lada incluida) </b>:" .$tels . "<br><br><br>";


Ok ademas se puede hacer que una vez que se envia el mail, que si el usuario le da ATRAS, ya no pueda var lo que escribio en el formulario.......???

saludos!!
  #3 (permalink)  
Antiguo 27/10/2005, 00:13
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 8 meses
Puntos: 0
Bueno, vi un error en la "ortorgrafia" si tienes GET no puedes poner en el form "method=post", checale eso...
  #4 (permalink)  
Antiguo 27/10/2005, 00:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
como puedo hacer que ya en el mail, los datos obtenidos del formulario me aparecen pegados(sin espacios entre las palabras)
... estás enviando HTML, necesitas meter "espacios HTML":
Código PHP:
$datos .= "<b>Ciudad:</b>".$ciudad."   ".$estado "<br>"
sí vaz a dejar un solo espacio pués simplemente concatena ese espacio...

Cita:
ademas se puede hacer que una vez que se envia el mail, que si el usuario le da ATRAS, ya no pueda var lo que escribio en el formulario.......???
... no es algo que se controle con PHP pero si manejas tres archivos (formulario >> proceso >> resultados) me parece los datos no son conservados.



Edito:
Un Bug en el foro... borra el carácter HTML de espacio (a pesar de estar entre etiquetas)... como sea el código es (sin espacio) "& #32;"... es ese el que debes concatenar y repetir cuantos espacios quieras.
<offtopic>¿cuál es el nombre correcto de "Gatito" (#)??? </offtopic>
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 27/10/2005 a las 00:26
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.