Anpassen der Discourse äußeren E-Mail-Vorlage

:bookmark: Diese Anleitung erklärt, wie Sie die äußere HTML-Vorlage für alle von Ihrer Discourse-Site gesendeten E-Mails anpassen und gestalten.

:person_raising_hand: Erforderliches Benutzerniveau: Administrator

Alle von Ihrer Website gesendeten E-Mails werden in eine HTML-Vorlage eingeschlossen, die angepasst werden kann.

Diese Anleitung behandelt:

  • Zugriff auf den Bereich zur Anpassung der E-Mail-Gestaltung
  • Modifizieren der HTML-Vorlage
  • Hinzufügen von benutzerdefiniertem CSS
  • Testen von E-Mail-Vorlagen
  • Rückgängigmachen von Änderungen
  • Ein Beispiel für eine benutzerdefinierte Vorlage
  • Interaktion mit Digest-E-Mails
  • Ändern von E-Mail-Schriftarten

Zugriff auf die Anpassung der E-Mail-Gestaltung

  1. Navigieren Sie in Ihrer Discourse-Site zu Admin / E-Mail / Erscheinungsbild.
  2. Sie sehen einen Editor, in dem Sie das HTML und CSS für Ihre E-Mail-Vorlage ändern können.

Modifizieren der HTML-Vorlage

Der Standard-Markup im Editor enthält einen Platzhalter %{email_content} im body-Abschnitt. Dieser Platzhalter ist die Stelle, an der der Inhalt jeder E-Mail eingefügt wird. Sie können beliebige Änderungen an der Vorlage vornehmen, solange Sie diesen Platzhalter nicht entfernen.

Informationen zur Anpassung des Inhalts, der den Platzhalter %{email_content} ersetzt, finden Sie unter Anpassen spezifischer E-Mail-Vorlagen.

Hinzufügen von benutzerdefiniertem CSS

Sie können den CSS-Abschnitt des E-Mail-Stil-Editors verwenden, um Inline-Stile in Ihre Vorlage einzufügen. Hier ist ein Beispiel:

  1. Fügen Sie eine CSS-Klasse zu einem HTML-Element in der Vorlage hinzu:

    <td> class="my-outer-td">
    </td>
    
  2. Erstellen Sie eine Regel für die Klasse im CSS-Editor:

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

Discourse ersetzt die CSS-Klasse vor dem Senden der E-Mail durch die tatsächliche CSS-Regel. Sie können hier beliebige CSS-Regeln hinzufügen, die Sie wünschen.

Testen von E-Mail-Vorlagen

Es ist entscheidend, Ihre Änderungen an der E-Mail-Vorlage in verschiedenen E-Mail-Clients zu testen, da diese HTML unterschiedlich interpretieren können. Verwenden Sie einen E-Mail-Testdienst, um eine Vorschau anzuzeigen, wie Ihre E-Mails in verschiedenen Clients aussehen werden, insbesondere bei größeren Änderungen.

Rückgängigmachen von Änderungen

Um Ihre Vorlagenanpassung rückgängig zu machen:

  1. Scrollen Sie zum Ende des Vorlagen-Editors.
  2. Klicken Sie auf die Schaltfläche „Auf Standard zurücksetzen“.

Diese Aktion ersetzt Ihre Änderungen durch die Standard-Discourse-E-Mail-Vorlage.

Beispiel für eine benutzerdefinierte Vorlage

Hier ist eine einfache E-Mail-Vorlage, die die Breite von E-Mails auf maximal 600 Pixel begrenzt und oben ein Logo hinzufügt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <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>

Denken Sie daran, die Attribute src, alt und href des Bildes durch die spezifischen Informationen Ihrer Website zu ersetzen.

So sieht es auf verschiedenen Bildschirmgrößen aus

iPad Pro (10.5 Zoll) (iOS 13.1):

Gmail (Chrome):

iPhone 11 Pro Max (iOS 13.1):

Outlook 2019 (Windows 10)

Interaktion mit Digest-E-Mails

Wenn Ihre benutzerdefinierte Vorlage allen E-Mails ein Logo hinzufügt, haben Sie zwei Optionen für Digest-E-Mails:

  1. Um das Standard-Styling für Digest-E-Mails zu verwenden:

    • Deaktivieren Sie die Site-Einstellung apply custom styles to digest (Benutzerdefinierte Stile auf Digest anwenden).
  2. Um ein konsistentes Styling für alle Benachrichtigungs-E-Mails beizubehalten:

    • Entfernen Sie alle Bilder, die als Site-Einstellung digest logo festgelegt sind.
    • Fügen Sie <span></span> zur Textanpassung unter .../admin/customize/site_texts/user_notifications.digest.custom.html.header hinzu.

Ändern von E-Mail-Schriftarten

Um Schriftarten in Ihren E-Mails zu ändern:

  1. Verwenden Sie websichere Schriftarten für maximale Kompatibilität. Eine Liste der auf Windows und Mac verfügbaren Schriftarten finden Sie unter CSS Font Stack.

  2. Fügen Sie CSS-Regeln für die Schriftarten zu Ihrer Discourse-E-Mail-Vorlage hinzu.

  3. Sie können Schriftarten direkt in HTML-Elementen festlegen, zum Beispiel:

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

Beachten Sie, dass Web-Schriftarten von externen Diensten von vielen E-Mail-Clients nicht unterstützt werden.

Zusätzliche Ressourcen

Weitere Informationen zum Erstellen von HTML-E-Mails finden Sie in dieser umfassenden Anleitung zum Erstellen einer HTML-E-Mail-Vorlage von Grund auf.

18 „Gefällt mir“

Thank @simon!

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

3 „Gefällt mir“

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 „Gefällt mir“

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

1 „Gefällt mir“

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 „Gefällt mir“

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

2 „Gefällt mir“

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 „Gefällt mir“

Wie ändere ich die Schriftart in den E-Mails am besten? Danke.

1 „Gefällt mir“

Ich denke, der sicherste Ansatz wäre die Verwendung von Web-Safe-Schriftarten. Eine gute Liste der Schriftarten, die auf Windows- und Mac-Computern verfügbar sind, finden Sie hier: https://www.cssfontstack.com/. Es sollte ausreichen, CSS-Regeln für die Schriftarten zu Ihrer Discourse-E-Mail-Vorlage hinzuzufügen.

Sie könnten versuchen, Web-Schriftarten von einem externen Dienst für Ihre E-Mails zu laden, aber Sie müssen sich bewusst sein, dass viele E-Mail-Clients Web-Schriftarten nicht unterstützen. Einige Details dazu finden Sie hier: The Ultimate Guide to Web Safe Fonts for Email Marketing | Litmus.

3 „Gefällt mir“

Danke. Ich würde eine web-sichere Schriftart verwenden. Im obigen Beispiel gibt es einen [if mso]-Teil, aber ich sehe nicht, wo die Schriftart für Nicht-Outlook-Clients festgelegt ist.

1 „Gefällt mir“

Im Beispiel-Template werden Schriftarten für E-Mail-Clients, die nicht Outlook sind, mit CSS-Regeln festgelegt, die direkt zu HTML-Elementen hinzugefügt werden. Zum Beispiel:

<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 „Gefällt mir“

Das sind sie. Ich werde den schmalen mobilen Bildschirm dafür verantwortlich machen und es dabei belassen :slight_smile:

2 „Gefällt mir“

Ist es möglich, die Schriftart des Textes neben dem Avatar anzupassen? Ich meine, der Text für:

[Echter Name] [Benutzername]
[Datum]

Ich konnte den Rest des E-Mail-Textes ändern, aber der obige Text hat folgenden Stil:

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 „Gefällt mir“

Gibt es weitere Variablen im E-Mail-Template?

Zum Beispiel wäre es nützlich, %{year} zu haben, um die Aktualisierung von E-Mail-Fußzeilen zu vermeiden. Ist das verfügbar?

1 „Gefällt mir“