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>
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:
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.