> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# $wsEmails - E-Mails

> Vorkonfigurierte Shop-E-Mails (Bestellbestätigung, Erinnerungen, Benachrichtigungen) aus dem Frontend gezielt und ereignisgesteuert auslösen.

Mit dem `$wsEmails`-Modul lösen Sie den Versand vorkonfigurierter E-Mails aus. Die E-Mails selbst werden in der Shop-Konfiguration unter `messages` definiert. Das Modul stößt den Versand einer dieser E-Mails über ihre ID an.

Auf dieser Seite geht es um das Auslösen des Versands. Inhalt, Empfänger und Layout der E-Mail werden in der `messages`-Konfiguration festgelegt, nicht hier.

***

## Grundkonzept

`$wsEmails` kennt genau eine Methode: [`sendConfiguredEmail(emailId)`](#wsemails-sendconfiguredemail). Sie versendet die E-Mail, deren ID dem Namen der `messages`-Konfiguration entspricht.

<Info>
  Wenn der Aufruf ungeschützt im Template steht, wird die E-Mail bei jedem Seitenaufruf versendet. Um dies zu vermeiden, sollten Sie ihn immer mit einer Bedingung umschließen, die nur im gewünschten Fall zutrifft, etwa nach dem erfolgreichen Absenden eines Formulars. So vermeiden Sie einen versehentlichen Mehrfachversand.
</Info>

***

## Modulübersicht

**Beispiel / Ausschnitt über** `$wsEmails`

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsEmails | json }}
```

**JSON-Ausgabe**

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "sendConfiguredEmail": "ƒ()"
}
```

Anmerkung: `"ƒ()"` kennzeichnet eine Funktion.

**Methoden in der Übersicht**

| **Methode**             | **Rückgabe-Typ** | **Beschreibung**                                      |
| ----------------------- | ---------------- | ----------------------------------------------------- |
| `sendConfiguredEmail()` | –                | Versendet eine unter `messages` konfigurierte E-Mail. |

***

## Templates

Der E-Mail-Versand kann von jedem Template aus ausgelöst werden, aber nur kontrolliert (siehe [Grundkonzept](#grundkonzept)). Typische Einsatzgebiete sind Kontaktformulare, Bestätigungen oder Benachrichtigungen nach bestimmten Aktionen.

***

## Variablen

Für `$wsEmails` stehen keine Variablen zur Verfügung.

***

## Methoden

### \$wsEmails.sendConfiguredEmail()

Versendet eine E-Mail, die in der Shop-Konfiguration unter `messages` definiert wurde. Die E-Mail-ID entspricht dem Namen der Konfiguration.

**Signatur**\
`$wsEmails.sendConfiguredEmail(emailId)`

## **Rückgabe**\\

**Parameter**

| **Name**  | **Typ** | **Pflicht** | **Beschreibung**                                                                               |
| --------- | ------- | ----------- | ---------------------------------------------------------------------------------------------- |
| `emailId` | string  | ja          | ID der E-Mail aus der `messages`-Konfiguration (z. B. `"orderConfirmation"`, `"contactForm"`). |

Aufruf (immer mit einer Bedingung umschließen, siehe Beispiel):

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ $wsEmails.sendConfiguredEmail("contactForm") }}
```

***

## Aktionen

Für `$wsEmails` stehen keine Aktionen zur Verfügung.

***

## Beispiele

### E-Mail nur nach erfolgreichem Formular versenden

Dieses Beispiel koppelt den Versand an den Erfolg einer Formular-Aktion: Erst wenn das Formular erfolgreich abgesendet wurde (`success`), wird die konfigurierte E-Mail ausgelöst.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $contact = $wsActions.create("ContactForm") }}

<form method="POST" action="{{= $wsViews.current.url() }}">
  <input type="hidden" name="wscsrf" value="{{= $contact.csrf }}">
  <input type="text" name="message" placeholder="Ihre Nachricht">
  <button type="submit" name="wsact" value="{{= $contact.id }}">Senden</button>
</form>

{{ if $contact.success }}
  {{ $wsEmails.sendConfiguredEmail("contactForm") }}
  Vielen Dank, Ihre Nachricht wurde versendet.
{{ /if }}
```

**Ergebnis** \
Die E-Mail geht nur dann raus, wenn das Formular erfolgreich abgesendet wurde. Ein bloßes Neuladen der Seite löst keinen Versand aus.

<Note>
  Der Aktionsname `ContactForm` und die E-Mail-ID `contactForm` sind Platzhalter. Setzen Sie die in Ihrem Shop konfigurierten Namen ein und prüfen Sie, dass der Versand ausschließlich im `success`-Fall erfolgt.
</Note>

***

## Weiterführende Links

* [messages - Ereignisgesteuerte E-Mails](/konfiguration/messages-ereignisgesteuerte-e-mails) – legt die versendbaren E-Mails (Inhalt, Empfänger, ID) an, auf die `sendConfiguredEmail()` zugreift.
* [\$wsActions](/frontend/referenz/module/wsactions) – liefert den `success`-Status, mit dem Sie den Versand absichern.
