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

# MAIL- (Externe Mailsysteme)

> Die Anhänge einer Shop-E-Mail im Template für ein externes Mailsystem durchlaufen und Name, Typ und Base64-Inhalt übergeben.

Versendet der Shop seine E-Mails nicht selbst, sondern über ein externes Mailsystem, schickt er diesem nicht die fertige Mail, sondern die Daten, aus denen das System die Mail baut. Dafür gibt es ein eigenes Template, hinterlegt als `ExternMailTemplate`.

Die Anhänge sind der Teil dieser Daten, der sich nicht einfach als Text übergeben lässt. Die `MAIL-`Tags liefern sie: je Anhang den Dateinamen, die Art des Anhangs und den Inhalt in Base64-Kodierung.

Das Shopsystem führt zwei getrennte Listen. In der einen stehen die Dateianhänge, in der anderen die Anhänge, die aus einem HTML-Template erzeugt wurden. Beide werden gleich behandelt, jede hat ihre eigenen vier Tags.

Wegweiser: [Shop-E-Mails über ein externes Mailsystem versenden](https://dokumentation.websale.de/v8s/referenz/tags/mail-externe-mailsysteme.md)

## Die Anhänge durchlaufen

`MAIL-FileAttachment` und `MAIL-HTMLAttachment` sind Schleifen über die jeweilige Liste. Als Klammerung prüfen sie, ob überhaupt Anhänge dieser Art vorliegen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{MAIL-FileAttachment}
   {@MAIL-FileAttachment}
      <attachment>
         <name>~MAIL-FileAttachment_Name~</name>
         <type>~MAIL-FileAttachment_Type~</type>
         <content>~MAIL-FileAttachment_ContentB64~</content>
      </attachment>
   {/@MAIL-FileAttachment}
{/MAIL-FileAttachment}

{!MAIL-FileAttachment}
   <!-- keine Dateianhänge vorhanden -->
{/!MAIL-FileAttachment}
```

Für die HTML-Anhänge gilt dasselbe mit `MAIL-HTMLAttachment`.

> [!WARNING]
>
> Die beiden Tags sind **keine** Einzel-Tags. `~MAIL-FileAttachment~` gibt nichts aus, sondern gilt als ungültiges Tag. Die Angaben zu einem Anhang holen Sie ausschließlich über die drei Suffix-Tags, und diese nur innerhalb der Schleife.
>
> Die drei Suffix-Tags brauchen die Schleife zwingend. Stehen sie nur innerhalb der Klammerung `{MAIL-FileAttachment}` ohne die Schleife darin, greift das Shopsystem auf einen Eintrag vor dem Listenanfang zu. Was dabei herauskommt, ist unbestimmt. Öffnen Sie deshalb immer `{@MAIL-FileAttachment}`.

## Die Angaben je Anhang

| Tag | Liefert |
| - | - |
| `MAIL-FileAttachment_Name` | den Dateinamen des Anhangs |
| `MAIL-FileAttachment_Type` | die Art des Anhangs als Zahl |
| `MAIL-FileAttachment_ContentB64` | den Inhalt, Base64-kodiert |

Die HTML-Variante heißt entsprechend `MAIL-HTMLAttachment_Name`, `MAIL-HTMLAttachment_Type` und `MAIL-HTMLAttachment_ContentB64`.

### Die Arten von Anhängen

| Wert | Bedeutung |
| - | - |
| 0 | fester Anhang der Bestellbestätigung |
| 1 | Datenblatt |
| 2 | SEPA-Mandat für Endkunden |
| 3 | SEPA-Mandat für Firmenkunden |
| 4 | Bestellübersicht als PDF |

Über die Art lassen sich Anhänge im übergebenen Datensatz unterschiedlich behandeln, beispielsweise um das SEPA-Mandat anders zu benennen als ein Datenblatt. Das Shopsystem selbst unterscheidet beim Versand nicht danach.

`ContentB64` liefert den Inhalt immer Base64-kodiert, auch bei den HTML-Anhängen, deren Inhalt eigentlich Text ist. Das externe Mailsystem bekommt damit für beide Listen dasselbe Format.

## Die Schleife läuft nur einmal

> [!WARNING]
>
> Nach dem Durchlauf leert das Shopsystem die Liste. Eine zweite Schleife über dieselben Anhänge liefert nichts mehr, und auch die Klammerung `{MAIL-FileAttachment}` greift danach nicht mehr. Beide Listen verhalten sich so, jede für sich.
>
> Daraus folgt die Reihenfolge im Template: erst prüfen, dann durchlaufen. Wenn Sie nach der Schleife noch einmal wissen müssen, ob es Anhänge gab, merken Sie sich das vorher in einem Design-Parameter.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{MAIL-FileAttachment}
   ~DC-FPMail_set(hatAnhaenge)~
   {@MAIL-FileAttachment}
      ...
   {/@MAIL-FileAttachment}
{/MAIL-FileAttachment}

{DC-FPMail(hatAnhaenge)}
   <!-- auch nach der Schleife noch auswertbar -->
{/DC-FPMail(hatAnhaenge)}
```

Referenz: [DC- (Parameter)](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md)

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `MAIL-FileAttachment` | – | ja | ja | ja |
| `MAIL-FileAttachment_Name` | ja | – | – | – |
| `MAIL-FileAttachment_Type` | ja | – | – | – |
| `MAIL-FileAttachment_ContentB64` | ja | – | – | – |
| `MAIL-HTMLAttachment` | – | ja | ja | ja |
| `MAIL-HTMLAttachment_Name` | ja | – | – | – |
| `MAIL-HTMLAttachment_Type` | ja | – | – | – |
| `MAIL-HTMLAttachment_ContentB64` | ja | – | – | – |

Alle Tags gelten ausschließlich im Template für das externe Mailsystem. Auf anderen Templates liegen die Anhangslisten nicht vor, und die Tags bleiben unaufgelöst.

## Verwandte Themen

* Wegweiser: Shop-E-Mails über ein externes Mailsystem versenden
* Wegweiser: Shop-E-Mails gestalten
* Referenz: [DC- (Parameter)](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md)


## Related topics

- [Integration von Inxmail](https://dokumentation.websale.de/v8s/externe-dienste/inxmail.md)
- [E-Mails](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/e-mails.md)
- [WS-SOAP-InfoMails](https://dokumentation.websale.de/v8s/schnittstellen/service-und-app/ws-soap-infomails.md)
- [Externe Dienste und Schnittstellen](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/externe-dienste-und-schnittstellen.md)
- [Merkzettel, Vergleich, Upload und externe Dienste](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.