Personalización de la plantilla de correo electrónico externa de Discourse

:bookmark: Esta guía explica cómo personalizar y dar estilo a la plantilla HTML externa para todos los correos electrónicos enviados desde su sitio de Discourse.

:person_raising_hand: Nivel de usuario requerido: Administrador

Todos los correos electrónicos enviados desde su sitio están envueltos en una plantilla HTML que se puede personalizar.

Esta guía cubre:

  • Acceso a la sección de personalización de estilos de correo electrónico
  • Modificación de la plantilla HTML
  • Adición de CSS personalizado
  • Pruebas de plantillas de correo electrónico
  • Reversión de cambios
  • Un ejemplo de plantilla personalizada
  • Interacción con los correos electrónicos de resumen (digest)
  • Cambio de fuentes de correo electrónico

Acceso a la personalización de estilos de correo electrónico

  1. Navegue a Administrador / Correo electrónico / Apariencia en su sitio de Discourse.
  2. Verá un editor donde puede modificar el HTML y el CSS para su plantilla de correo electrónico.

Modificación de la plantilla HTML

El marcado predeterminado en el editor contiene un marcador de posición %{email_content} en la sección body. Este marcador de posición es donde se insertará el contenido de cada correo electrónico. Puede realizar cualquier cambio en la plantilla siempre y cuando no elimine este marcador de posición.

Para obtener información sobre cómo personalizar el contenido que reemplaza el marcador de posición %{email_content}, consulte cómo personalizar plantillas de correo electrónico específicas.

Adición de CSS personalizado

Puede utilizar la sección CSS del editor de Estilo de Correo Electrónico para inyectar estilos en línea en su plantilla. Aquí hay un ejemplo:

  1. Agregue una clase CSS a un elemento HTML en la plantilla:

    <td class="my-outer-td">
    </td>
    
  2. Cree una regla para la clase en el editor de CSS:

    .my-outer-td {
      padding: 30px 0 30px 0;
    }
    

Discourse reemplazará la clase CSS con la regla CSS real antes de enviar el correo electrónico. Puede agregar cualquier regla CSS que desee aquí.

Pruebas de plantillas de correo electrónico

Es fundamental probar los cambios de su plantilla de correo electrónico en varios clientes de correo electrónico, ya que pueden interpretar el HTML de manera diferente. Utilice un servicio de prueba de correo electrónico para previsualizar cómo aparecerán sus correos electrónicos en diferentes clientes, especialmente para cambios significativos.

Reversión de cambios

Para revertir la personalización de su plantilla:

  1. Desplácese hasta la parte inferior del editor de plantillas.
  2. Haga clic en el botón “Restablecer a predeterminado” (“Reset to default”).

Esta acción reemplazará sus cambios con la plantilla de correo electrónico predeterminada de Discourse.

Ejemplo de plantilla personalizada

Aquí hay una plantilla de correo electrónico básica que limita el ancho de los correos electrónicos a un máximo de 600px y agrega un logotipo en la parte superior:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  </head>
  <body style="margin: 0; padding: 0;">
    <!--[if mso]>
    <style type="text/css">
      body, table, td, th, h1, h2, h3 { font-family: Helvetica, Arial, sans-serif !important; }
    </style>
    <![endif]-->
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr>
        <td style="padding: 10px 0 30px 0;">
          <!--[if gte mso 9]>
          <table width="600" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td>
          <![endif]-->
          <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;border-collapse: collapse;">
            <tr>
              <td style="padding: 20px 15px 20px 15px;">
                <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
                  <tr>
                    <td align="center">
                      <a href="https://forum.example.com">
                        <img src="https://your-site-logo-url" alt="Your site name" width="150" height="40" style="display: block;"/>
                      </a>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <tr>
              <td style="padding: 0 15px 0 15px;">
                <hr style="background-color: #ddd; height: 1px; border: 1px;" />
              </td>
            </tr>
            <tr>
              <td style="padding: 20px 15px 30px 15px; color: #153643; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
                %{email_content}
              </td>
            </tr>
          </table>
          <!--[if gte mso 9]>
              </td>
            </tr>
          </table>
          <![endif]-->
        </td>
      </tr>
    </table>
  </body>
</html>

Recuerde reemplazar los atributos src, alt e href de la imagen con la información específica de su sitio.

Así es como se ve en diferentes tamaños de pantalla

iPad Pro (10.5 pulgadas) (iOS 13.1):

Gmail (Chrome):

iPhone 11 Pro Max (iOS 13.1):

Outlook 2019 (Windows 10)

Interacción con los correos electrónicos de resumen (digest)

Si su plantilla personalizada agrega un logotipo a todos los correos electrónicos, tiene dos opciones para los correos electrónicos de resumen:

  1. Para usar el estilo predeterminado del correo electrónico de resumen:

    • Deshabilite la configuración del sitio apply custom styles to digest (aplicar estilos personalizados al resumen).
  2. Para mantener un estilo consistente en todos los correos electrónicos de notificación:

    • Elimine cualquier imagen configurada como la configuración del sitio digest logo (logotipo del resumen).
    • Agregue <span></span> a la personalización de texto en .../admin/customize/site_texts/user_notifications.digest.custom.html.header.

Cambio de fuentes de correo electrónico

Para cambiar las fuentes en sus correos electrónicos:

  1. Utilice fuentes seguras para la web para la máxima compatibilidad. Consulte CSS Font Stack para obtener una lista de fuentes disponibles en Windows y Mac.

  2. Agregue reglas CSS para las fuentes a su plantilla de correo electrónico de Discourse.

  3. Puede establecer fuentes directamente en elementos HTML, por ejemplo:

    <td style="font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
      %{email_content}
    </td>
    

Tenga en cuenta que muchas aplicaciones de correo electrónico no admiten fuentes web de servicios externos.

Recursos adicionales

Para obtener más información sobre la creación de correos electrónicos HTML, puede consultar esta guía completa sobre cómo crear una plantilla de correo electrónico HTML desde cero.

18 Me gusta

Thank @simon!

Could you be so kind to provide a full text of template? I would be happy to try it.

3 Me gusta

Thanks for pointing that out. It must have been a copy/paste error when I created the topic. I’ve added the full template to the post now.

3 Me gusta

How can we get the logo_url from Discourse in this template? is this possible?

1 me gusta

The easiest way might be to open your browser’s web inspector on your DIscourse site and copy the value of the logo’s src attribute into the template. You could also get the logo URL from the rails console by looking at the value of the url property that is returned for SiteSetting.logo

4 Me gusta

Ok cool, this is how I’m doing it right now, thanks!

2 Me gusta

Very nice. I think this should be the default. Most sites use a centered column 600px wide.

Seems like there should be a separate wrapper to edit for digest emails.

2 Me gusta

¿Cuál es la mejor manera de cambiar la fuente en los correos electrónicos? Gracias.

1 me gusta

Creo que el enfoque más seguro sería usar fuentes seguras para la web. Aquí hay una buena lista de las fuentes disponibles en computadoras Windows y Mac: https://www.cssfontstack.com/. Debería ser suficiente para agregar reglas CSS para las fuentes a su plantilla de correo electrónico de Discourse.

Podría intentar incorporar fuentes web de un servicio externo para sus correos electrónicos, pero debe tener en cuenta que muchos clientes de correo electrónico no admiten fuentes web. Aquí hay algunos detalles al respecto: The Ultimate Guide to Web Safe Fonts for Email Marketing | Litmus.

3 Me gusta

Gracias. Usaría una fuente segura para la web. En el ejemplo anterior hay una parte [if mso] pero no veo dónde se establece la fuente para los clientes que no son de Outlook.

1 me gusta

En la plantilla de ejemplo, las fuentes para clientes de correo electrónico que no son de Outlook se establecen con reglas CSS que se añaden directamente a los elementos HTML. Por ejemplo:

<td style="padding: 20px 15px 30px 15px; color: #153643; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
    %{email_content}
</td>
2 Me gusta

Así es. Culparé a la estrecha pantalla del móvil y lo dejaré ahí :slight_smile:

2 Me gusta

¿Es posible personalizar la fuente del texto junto al avatar? Me refiero al texto de:

[Nombre real] [Nombre de usuario]
[Fecha]

He podido cambiar el resto del texto del correo electrónico, pero el texto de arriba tiene el siguiente estilo:

style=“color:#006699;; font-size:13px;font-family:‘lucida grande’,tahoma,verdana,arial,sans-serif;text-decoration:none;font-weight:bold; text-decoration: none; font-weight: bold; color: #006699;”

1 me gusta

¿Hay otras variables disponibles en la plantilla de correo electrónico?

Por ejemplo, sería útil tener %{year} para evitar la necesidad de actualizar los pies de página de los correos electrónicos. ¿Está disponible?

1 me gusta