Foros del Web » Creando para Internet » HTML »

Envio de correo por compartir por email

Estas en el tema de Envio de correo por compartir por email en el foro de HTML en Foros del Web. Buen dia amigos. tengo un inconveniente con un codigo siguiente, el codigo funciona perfecto, pero al momento de llegar el correo en la parte de ...
  #1 (permalink)  
Antiguo 23/12/2012, 21:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 14 años
Puntos: 0
Busqueda Envio de correo por compartir por email

Buen dia amigos.


tengo un inconveniente con un codigo siguiente, el codigo funciona perfecto, pero al momento de llegar el correo en la parte de quererle agregar el link envuelto por el nombre del articulo me llega mal formado ejemplo
el mensaje me llega asi
Cita:
julano ha compartido un enlace contigo.

Para ir al enlace haz clic en el siguiente vinculo >> <a href="http://prueba.openzona.com/irobot-enlistado-para-la-guerra">iRobot enlistado para la guerra</a>

Mensaje:
cuando en realidad me tendria que salir
Cita:
Para ir al enlace haz clic en el siguiente vinculo >> iRobot enlistado para la guerra
en ves de
Para ir al enlace haz clic en el siguiente vinculo >> <a href="http://prueba.openzona.com/irobot-enlistado-para-la-guerra">iRobot enlistado para la guerra</a>
el codigo HTML que llega al correo es el siguiente
Cita:
<pre>julano ha compartido un enlace contigo.<br> <br>Para ir al enlace haz clic en el siguiente vinculo &gt;&gt; &lt;a href="<a href="http://prueba.openzona.com/irobot-enlistado-para-la-guerra" target="_blank">http://prueba.openzona.com/irobot-enlistado-para-la-guerra</a>"&gt;iRobot enlistado para la guerra&lt;/a&gt;<br> <br>Mensaje: <br></pre>
este es el code PHP que envia el correo en la variable $message es donde esta definido lo que se va a enviar.
Cita:
<?php
if($_POST){
$javascript_enabled = trim($_REQUEST['browser_check']);
/* $department = trim($_REQUEST['dept']); */
$name = trim($_REQUEST['name']);
$email = trim($_REQUEST['email']);
$url = trim($_REQUEST['url']);
$titulo = trim($_REQUEST['titulo']);
$subject = "$name ha compartido un enlace contigo.";
$msg = trim($_REQUEST['msg']);
//mail settings
$to = $email;
$headers = "From: ".$email;
$message = "$name ha compartido un enlace contigo.\n\nPara ir al enlace haz clic en el siguiente vinculo >> <a href=\"$url\">$titulo</a>\n\nMensaje: $msg";
if ( $name == "" ){$result = "El nombre es requerido";}
elseif (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $email)){$result = "Ingresa un e-mail valido";}
/* inicia capcha */
else{
require_once('extras/recaptchalib.php');
$privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid){/* respuesta equivocada */$result = "El codigo de verificacion es incorrecto";}
else{/* respuesta acertada */
mail($to, $subject, $message, $headers);
$result = "Tu consulta ha sido enviada exitosamente";}}
if($javascript_enabled == "true") {echo $result;die();}}?>
Muchas gracias por sus atenciones

Última edición por dimas18; 23/12/2012 a las 21:51
  #2 (permalink)  
Antiguo 24/12/2012, 09:54
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Envio de correo por compartir por email

Estás enviando como texto plano, por eso no reconoce el HTML.

En las FAQs de PHP hay un pequeño ejemplo, aunque si buscas por google cómo enviar un correo en PHP con formato HTML deben de salir cuatro o cinco cosillas.
  #3 (permalink)  
Antiguo 25/12/2012, 12:42
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 14 años
Puntos: 0
Respuesta: Envio de correo por compartir por email

Gracias por contestar.

Como prodria hacer para enviarlo como html en ves de plano?

Gracias
  #4 (permalink)  
Antiguo 25/12/2012, 13:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Envio de correo por compartir por email

$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  #5 (permalink)  
Antiguo 25/12/2012, 19:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 14 años
Puntos: 0
Respuesta: Envio de correo por compartir por email

Gracias amigo por contestar.

mira que me pas einvestigando un poco, la forma que me pones habia encontrado algo similar pero al agregarlo el otro y ahorita el que me describes, el correo no llega al correo, como podria implementarlo a ver si es que hago algo mal-

gracias
  #6 (permalink)  
Antiguo 25/12/2012, 21:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 14 años
Puntos: 0
Respuesta: Envio de correo por compartir por email

amigos me respondo,

leyendo un articulo en este foro del php mailer lei un comentario sobre los correos html en hotmail y los correos con texto plano, a lo que se comento que los correos con html la mayoria del tiempo llegan a correo spam en hotmail y los de texto plano no, a mi parecer creo que me quedo con texto plano que asi si me llegan a hotmail en la bandeja de entrada que tambien me recorde que los correos que envia paypal tambien lo hace en texto plano, godaddy y otros que me llegan siempre pasan primero por la carpeta spam y me toca decir que son seguros casi siempre.


agradezco sus comentarios.

Cita:
Iniciado por dimas18 Ver Mensaje
Gracias amigo por contestar.

mira que me pas einvestigando un poco, la forma que me pones habia encontrado algo similar pero al agregarlo el otro y ahorita el que me describes, el correo no llega al correo, como podria implementarlo a ver si es que hago algo mal-

gracias
  #7 (permalink)  
Antiguo 25/12/2012, 22:43
 
Fecha de Ingreso: noviembre-2010
Mensajes: 70
Antigüedad: 14 años
Puntos: 0
Respuesta: Envio de correo por compartir por email

agregando algo mas.

a la respuesta que me dio el amigo josue ochoa es acertada, a la vez que tenia un por no decir error simplemente algo que no dejaba configurar mas son las comillas "" habiendolas sustituidas por ' '.

ejemplo
$subject = '$nombre ha compartido un enlace contigo.';
que antes eran comillas a mas de a alguien le podria servir muchas gracias


por cierto encontre el manual php de la funcion mail simple
http://php.net/manual/es/function.mail.php

Etiquetas: correo, email, link, php, formulario
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 04:40.