Nueva pregunta

Pregunta:

Fecha: 09-11-2015 19:20:02 (En Español)

¿Como insertar símbolo, caracteres especiales en asunto de email con PHP?[Resuelta]

Hola a todos.

Queria saber como insertar caracteres especiales, símbolos, en un asunto de email para poderlo destacar, con PHPMAILER y la función email

Por medio del webmail de gmail, el símbolo lo he copiado y pegado en el asunto, lo he enviado y funciona, no se como hacerlo con PHP.

Imagen del asunto.


El símbolo: Simbolo ejemplo

En HTML:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Prueba de simbolos</title>
</head>

<body>
     &#x1F4E2;
      &#x1F525;
       &#x1F5D2;
</body>

</html>


Demo online

Muchas gracias por la atención.

Que tengan un buen dia.

Saludos

Etiquetas: Email - HTML - PHP - PHPMailer - Pregunta Votos: 2 - Respuestas: 19 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 10-11-2015 07:57:26 Hola Walter,
    Ya revisaste el email en formato raw?
    Generalmente lo que se hace es una simple sustitución de caracteres.

    Por ejemplo:
    Si encuentro un ;) lo remplazo por un <img src="smiley1.jpg" alt="smiley"/>

    Ojo, es recomendable que lo hagas en el visor. Si lo haces antes de enviarlo le agregas carga al mensaje y tienes que tener otras consideraciones en cuenta.

    Saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 10-11-2015 09:23:48 pero no son imagenes son simbolos.
    por ejemplo cualquiera de esta lista
    saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 10-11-2015 12:00:22 Hola!! Muy sencillo en PHP dentro de un string puedes mandar caractéres especiales con "\ " con esto envías el carcter inmediatamente despues de slash invertido "\"
    Ejemplo : para enviar por html el símbolo "&#x1F4E2;"

    echo "\&\#\x\1\F\4\E\2;";


    Me comentas como te fue!! Saludos!.
      Votos: 0 - Link respuesta
     
  • Fecha: 10-11-2015 12:09:33 Unicode... has tocado un tema sensible de mi ser.
    El asunto de las codificaciones de caracteres es algo que pretendía resolver PHP6 y sorpresa!!! El proyecto fue abandonado y por eso ahora estamos brincando a PHP7, que tendrá soporte Unicode ;)
    Personalmente siempre trato de mantener todo en UTF-8.
    En tu caso te recomiendo que investigues del tema de codificación de caracteres pues son varios los puntos que tienes que sincronizar.
    Tal vez el siguiente link de StackOverflow te sirva.
    A mi personalmente no me funcionó pero porque tengo un ambiente con configuraciones muy especificas donde todo está enfocado a UTF-8.
      Votos: 1 - Link respuesta
     
  • Fecha: 10-11-2015 14:33:10 Beto,
    Tu explicación es correcta pero tue ejemplo no es bueno sin embargo me llevaste a una solución sencilla que puede ayudar mucho a Walter:

    <?php
    echo '<h1>&#x1F300;</h1>';
    

    Lo puse entre tags h1 para ejemplificar. Obviamente si tu salida es a consola o a un string te va a desplegar los valores en crudo (raw).

    Acabo de probar el código y funciona a la perfección desplegando lo que buscas.
    Gracias Beto!
      Votos: 1 - Link respuesta
     
  • Fecha: 11-11-2015 12:03:03 Muchas gracias a todos por responder
    Cuando este en l pc lo probaré
    Lo que indican sirve para incluirlo en el campo asunto con phpmiler?
    Saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 12-11-2015 09:41:50 lo he probado a ambos codigos y me imprime el codigo del caracter y no al caracter en si

    en el asunto de los email llegan asi

    con "\&\#\x\1\F\4\E\2;"
    Asunto: \&\#\x \F \E ; este es el asunto

    con '<h1>&#x1F300;</h1>'
    Asunto: &#x1F300; este es el asunto

    alguna otra idea?
      Votos: 1 - Link respuesta
     
  • Fecha: 16-11-2015 12:07:24 Aún no he encontrado poder solucionarlo   Votos: 0 - Link respuesta
     
  • Fecha: 18-11-2015 09:49:04 Hola amigo bno me interese mucho en tu tema hice muchos intentos pero solo lograba poner en el cuerpo el carácter pero me encontré con un artículo.
    este articulo despues de una hora
    Y empecé a hacer pruebas y me di cuenta que puedes enviar los caracteres que vez en tu teléfono como lo son.

    Eso son los emojis que encuentras en un dispositivo.
    También los puedes copiar de esta página.
    lista de caracteres
    O desde la página donde tienes el icono que te lo muestra lo seleccionas y lo copias y lo pegas en el asunto de tu correo.
    Adjunto fotos de los intentos del correo.




    Adjunto el código que use.
    <?
    	echo "&#x1F300;";
    ?>
    <?php
    $para  = 'nosotros@elcapa8.com' . ', '; // atención a la coma
    $para .= 'admin@elcapa8.com';
     
    // Asunto
    $titulo = 'Atencion con cambio de tarifas ???? ? ????';
    $titulo= mb_convert_encoding($titulo, "UTF-8", "auto");
    $tituwlo = "&#x1F300;";
     
    // Cuerpo o mensaje
    $mensaje = '
    <html>
    <head>
      <title>Atención con el Cambio de Tarifas y Comisiones &#x1F300;</title>
    </head>
    <body>
      <p>¡todos los vendedores a leer las tarifas segun empresas! &#x1F300;</p>
      <table>
        <tr>
          <th>Empresa</th><th>Tarifa Anterior</th><th>Nueva Tarifa</th><th>Comision</th>
        </tr>
        <tr>
          <td>Repsol</td><td>3.3</td><td>3.5</td><td>10%</td>
        </tr>
        <tr>
          <td>Telefonica</td><td>17.45</td><td>18.1</td><td>11%</td>
        </tr>
      </table>
    </body>
    </html>
    ';
     
    // Cabecera que especifica que es un HMTL
    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
    $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
    // Cabeceras adicionales
    $cabeceras .= 'From: Recordatorio <nosotros@elcapa8.com>' . "\r\n";
    $cabeceras .= 'Cc: nosotros@elcapa8.com' . "\r\n";
     
    // enviamos el correo!
    if(mail($para, $titulo, $mensaje, $cabeceras)){
    	echo "correo enviado";
    }
    ?>
    

    Ya que PHPCentral no me deja mostrar los caracteres te muestro esta foto del código.

    Y si me permites me gustaría hacer un artículo de este tema interesante en mi página.
      Votos: 2 - Link respuesta
     
  • Fecha: 18-11-2015 10:51:37 muchas gracias por aportar Edinson
    y en el ausnto como haces para que salga el simbolo?
    y esto estaria mal no $tituwlo = "&#x1F300;";
    saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 18-11-2015 10:54:52 Hola pongo el símbolo copio y pego el símbolo no con code solo el símbolo
    $tituwlo = "&#x1F300;"; y esta línea si esta mala era una prueba.
    Es más creo que la línea 10 es inutil

    Es simplemente copiar el símbolo y pegarlo no el código tal como vez en la última imagen es solo el símbolo.
    Esta es la foto del editor con todo el código completo que use.
      Votos: 2 - Link respuesta
     
  • Fecha: 18-11-2015 11:20:46 ElCapa8,
    Este realmente me interesaba saber cómo resolverlo.
    Muchas gracias por el interés y el excelente aporte.

    Saludos!
      Votos: 1 - Link respuesta
     
  • Fecha: 18-11-2015 17:30:39 En IDE Netbeans no me permite pegaur el simbolo, aparece un cuadrado.
    Habra otra manera de generar ese simbolo?
    ElCapa8 claro que podes hacer un articulo con lo expuesto ;) estaria bueno que tambien refieras en el articulo el link de esta pregunta ;)

    saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 19-11-2015 09:24:04 Si lamentablemente no deja ya que esos símbolo no existen en las fuentes de Netbeans, si los quieres poner tienes que usar notepad o bloc de notas.   Votos: 1 - Link respuesta
     
  • Fecha: 19-11-2015 11:12:06 Walter, qué pasa si lo insertas en block de notas y lo abres en NetBeans?
    Dudo que respete la codificación pero me interesa confirmar.

    Saludos!
      Votos: 1 - Link respuesta
     
  • Fecha: 19-11-2015 15:04:24 en el block de notas pasa lo mismo que en Netbeans, al pegarlo aparece un cuadrado.
    Debe haber alguna manera de insertarlo con alguna función nativa de PHP, no he encontrado nada al respecto.
    Y lo mas asombroso es que he recibido mails con esos simbolos en los asuntos
      Votos: 1 - Link respuesta
     
  • Fecha: 19-11-2015 15:37:09 Ps esas pruebas lo hice desde un dispositivo móvil.
    Ya que en el momento no tengo acceso a una PC pero en cuanto lo tenga consultaré más el tema.
    Pero aquí en esta página encuentras la forma usando caracteres de Windows.
      Votos: 0 - Link respuesta
     
  • Fecha: 19-11-2015 18:53:20 AL FIN LO LOGRE! después de andar probando de todo.

    Usando de la tabla de simbolos HTML Entity (Decimal)

        $asunto1 = '&#128293;  Ñandú &#128226;';
    $asunto=  mb_convert_encoding($asunto1, "UTF-8", "HTML-ENTITIES");


    Pero hay un problema
    Sale el dibujo del simbolo pero el texto no sale con acentos
    Ñandú sale Ñandú

    La solución:

       $asunto1 = '&#128293;  Ñandú &#128226;';
    $asunto=  preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $asunto1);


    El Resultado Final



    Les agradezco a todos por las respuestas que me han brindado.
    Y de alguna manera lo retribuyo brindando la solución al problema por si alguien lo quiere utilizar.

    En algun momento hare un tutorial al respecto.
    Si alguien quiere brindar alguna pagina con otra tabla de símbolos como lo que he expuesto al principio es bienvenido

    Por lo pronto doy por Resuelto el tema.

    Que tengan un buen dia
    Saludos
      Votos: 3 - Link respuesta
     
  • Fecha: 20-11-2015 04:35:49 Que bn que pudiste solucionarlo
    Salu2 de su amigo ElCapa8.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com