es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Usando la función de salto de línea en action mailer en el @body

He construido un sitio web que toma un mensaje y lo envía al destinatario por correo electrónico. El usuario puede enviar correos electrónicos escribiendo el mensaje y el destinatario. Mi problema es cuando un usuario escribe: “Mi \r\n nombre \n es \n usuario”, los correos electrónicos que se envían ignoran los saltos de línea o cualquier código HTML dentro del mensaje. ¿Cómo puedo solucionarlo?

Este es el HTML que se ha enviado:

<!DOCTYPE html>
<html>
  <head>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
  </head>
  <body>
    <h3>Hola <%= @user.username %>,</h3>

      <%= @message %>



  </body>
</html>
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para admitir saltos de línea y código HTML dentro del mensaje, debes asegurarte de que el mensaje se renderice como HTML y no como texto plano. Puedes hacer esto utilizando el método html_safe en Rails.

    En tu archivo de vista donde se muestra el mensaje, modifica el código de la siguiente manera:

    <%= @message.html_safe %>
    

    Con esta modificación, cualquier código HTML, incluidos los saltos de línea, incrustado en el mensaje se renderizará correctamente en el correo electrónico.

Comments are closed.