Listmonk
Listmonk
Listmonk ist ein selbstgehosteter Newsletter- und Mailinglisten-Manager, den Organisatoren intern nutzen können, um informative E-Mails an Teilnehmer zu versenden.
Listmonk kann auf Ihrem eigenen Server installiert oder schnell und einfach in der Cloud eingerichtet werden.
Hier sind einige Clouds, in denen Sie das Listmonk-System schnell einrichten können:
| Cloud-Dienste |
|---|
![]() |
Das Listmonk-Dashboard sieht so aus:
Um Listmonk zu verbinden, gehen Sie zu Vereinseinstellungen -> Integrationen.
Die Vereinseinstellungen finden Sie unten links.

Unter Integrationen finden Sie Listmonk und klicken Sie auf Verbinden.

Um Listmonk zu verbinden, müssen die folgenden Felder ausgefüllt werden:

Nach dem Ausfüllen der Felder und dem Drücken von Speichern versucht das System, eine Verbindung zu Listmonk herzustellen und zu überprüfen, ob die Verbindung funktioniert.
Sobald die Verbindung hergestellt ist, können Sie ein E-Mail-Design auswählen und die folgenden Aktionen ausführen:
- Wählen Sie das E-Mail-Design, das gesendet wird, wenn eine Mitgliedschaft erfolgreich bezahlt wird.
- Führen Sie eine Ereignissynchronisation durch.
- Synchronisieren Sie Teilnehmer-E-Mails.
- Senden Sie eine Test-"Kauf-E-Mail".
Ereignissynchronisation (Wettkämpfe oder Challenges) #
Jedes Ereignis eines Organisators erstellt eine neue E-Mail-Liste in Listmonk, sodass Teilnehmer mit einer bestimmten E-Mail-Liste verknüpft werden können, damit der Organisator E-Mails nur an Teilnehmer dieses bestimmten Ereignisses senden kann.
Durch Drücken der Schaltfläche Vollständige Ereignissynchronisation initialisieren werden alle Ereignisse in Listmonk erstellt.
Alle Ereignisse werden im folgenden Format gespeichert: "Jahr - Wettkampfname".
Beim Hinzufügen eines neuen Teilnehmers zu Listmonk überprüft das System, ob das spezifische Ereignis erstellt wurde; falls nicht, wird es erstellt.
Teilnehmer-Synchronisation #
Jedes Mal, wenn ein Kauf getätigt wird (Mitgliedschaftszahlung), wird eine Anfrage an Listmonk gesendet und die E-Mails der Teilnehmer werden hinzugefügt. Sowohl die "Rechnungs-E-Mail", die der Käufer ausfüllen muss, als auch alle an die Teilnehmer angehängten E-Mails werden hinzugefügt.
Jeder Teilnehmer wird der spezifischen Wettkampfliste hinzugefügt und die folgenden Attribute werden angehängt:

- Events - enthält eine Liste aller Veranstaltungen, an denen der Teilnehmer teilgenommen hat.
- Marketing - enthält Informationen über die während des Kaufvorgangs markierten "Marketing"-Präferenzen.
Diese Informationen können verwendet werden, um Teilnehmer zu filtern und sie neuen Mailinglisten hinzuzufügen.
Zum Beispiel, um alle Teilnehmer zu finden, die angegeben haben, dass sie Nachrichten erhalten möchten, kann die folgende Abfrage verwendet werden: (subscribers.attribs->'marketing'->>'News')::BOOLEAN = true.

Durch Ausführen dieser Abfrage werden alle Teilnehmer ausgewählt, die angegeben haben, dass sie Nachrichten erhalten möchten.
Initiale Teilnehmer-Synchronisation #
Um die initiale Teilnehmer-Synchronisation durchzuführen, müssen Sie die Schaltfläche Vollständige Datensynchronisation mit Listmonk initialisieren drücken. Beachten Sie, dass dies länger dauern kann, wenn die Anzahl der Teilnehmer groß ist.
Kaufbestätigungs-E-Mail #
DistantRace sendet eine automatische E-Mail aus dem System, wenn ein Teilnehmer seine Teilnahme bezahlt, aber Organisatoren können ihr eigenes E-Mail-Design erstellen.
Es ist wichtig, Folgendes in die E-Mail aufzunehmen:
- Was bezahlt wird und die Beträge
- Der insgesamt bezahlte Betrag
- Ein Link zur Kaufbestätigung
Wie erstellt man eine E-Mail und verbindet sie mit DistantRace?
- Erstellen Sie eine Kaufbestätigungs-E-Mail.
In Listmonk ist es möglich, "Transaktionale" E-Mail-Designs zu erstellen. Erstellen Sie ein neues Design für die Kaufbestätigung.

Hier ist ein vereinfachtes Beispiel für die E-Mail:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<base target="_blank">
<style>
body {
background-color: #F0F1F3;
font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;
font-size: 15px;
line-height: 26px;
margin: 0;
color: #444;
}
pre {
background: #f4f4f4f4;
padding: 2px;
}
table {
width: 100%;
border: 1px solid #ddd;
}
table td {
border-color: #ddd;
padding: 5px;
}
table th {
border-color: #000;
padding: 5px;
text-align: left;
}
.wrap {
background-color: #fff;
padding: 30px;
max-width: 525px;
margin: 0 auto;
border-radius: 5px;
}
.button {
background: #0055d4;
border-radius: 3px;
text-decoration: none !important;
color: #fff !important;
font-weight: bold;
padding: 10px 30px;
display: inline-block;
}
.button:hover {
background: #111;
}
.footer {
text-align: center;
font-size: 12px;
color: #888;
}
.footer a {
color: #888;
margin-right: 5px;
}
.gutter {
padding: 30px;
}
img {
max-width: 100%;
height: auto;
}
a {
color: #0055d4;
}
a:hover {
color: #111;
}
@media screen and (max-width: 600px) {
.wrap {
max-width: auto;
}
.gutter {
padding: 10px;
}
}
</style>
</head>
<body style="background-color: #F0F1F3;font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;font-size: 15px;line-height: 26px;margin: 0;color: #444;">
<div class="gutter" style="padding: 30px;"> </div>
<div class="wrap" style="background-color: #fff;padding: 30px;max-width: 525px;margin: 0 auto;border-radius: 5px;">
<p>Hello {{ .Subscriber.Name }}</p>
<p>
<strong>Order number: </strong> {{ .Tx.Data.orderNumber }}<br />
<strong>Created date: </strong> {{ .Tx.Data.createdAt }}<br />
</p>
<br />
<table>
<tr><th>Name</th><th>Price</th></tr>
{{range .Tx.Data.products}} <tr><td>{{.title }}</td><td>{{.price}} {{ .Tx.Data.currency }}</td></tr>{{end}}
</table>
Total price: {{ .Tx.Data.orderSum }} {{ .Tx.Data.currency }}
<br />
<p>
<a href="{{ .Tx.Data.orderUrl }}">Open Order</a>
</p>
</div>
<div class="footer" style="text-align: center;font-size: 12px;color: #888;">
<p>{{ L.T "public.poweredBy" }} <a href="https://listmonk.app" target="_blank" rel="noreferrer" style="color: #888;">listmonk</a></p>
</div>
</body>
</html>
Visuell sieht dieses HTML so aus:

- Sobald das Design vorbereitet ist, muss die spezifische Vorlage in der DistantRace Listmonk-Integration ausgewählt werden:

Wenn das Design nicht verfügbar ist, drücken Sie die Schaltfläche Aktualisieren (durch Drücken dieser Schaltfläche wird die Liste der Designs aktualisiert) und öffnen Sie die Integration erneut.
- Sobald das Design ausgewählt und gespeichert ist, können Sie testen, wie das Design aussieht, indem Sie eine Test-E-Mail senden. Drücken Sie die Schaltfläche Testbestell-E-Mail (wenn Vorlage gesetzt ist).
Das war's - von diesem Moment an wird, wenn ein Teilnehmer seine Teilnahme bezahlt, nur Ihre gestaltete E-Mail gesendet.
Hier ist ein Beispiel mit den Informationen, die an Listmonk gesendet werden, um die E-Mail zu versenden:
{
"subscriber_email": email,
"template_id": template_id,
"data": {
"orderID": "36902",
"orderNumber": 36902,
"firstName": first_name,
"lastName": last_name,
"cartID": "36902",
"orderUrl": "https://distantrace.com/en/cart/d5949dac-b7d9-4e93-a874-34946286c006/",
"currency": "EUR",
"orderSum": 30.0,
"createdAt": "2024-05-02 15:50",
"updatedAt": "2024-05-02 16:36",
"paymentMethod": "payment with card",
"paymentStatus": "paid",
"tags": ["Competition Name"],
"products": [
{
"cartProductID": 85268,
"productID": "607",
"variantID": "432",
"variantTitle": "Distance Name",
"title": "Participant Name - Competition Name, Distance Name, Additional products",
"vendor": "Competition Name",
"quantity": 1,
"price": 15.0,
},
{
"cartProductID": 85268,
"productID": "607",
"variantID": "432",
"variantTitle": "Distance Name",
"title": "Participant Name - Competition Name, Distance Name, Additional products",
"vendor": "Competition Name",
"quantity": 1,
"price": 15.0,
},
],
},
"content_type": "html",
}

