TYPO3-Tutorial: Wie man eine CSV-Datei für Direct Mail importiert

CatIcon: TYPO3

Heute wurde ich mit der Aufgabe betraut Daten aus einer Excel-Datei für den Versand von Newslettern in TYPO3 zu importieren.

Das ist eigentlich kein Problem, denn die EXtension Direct Mail (direct_mail), die wir für die Newsletter-Generierung verwenden, bringt bereits eine Funktion zum Import von CSV-Dateien mit. Die Funktion findet ihr unter dem Direct Mail Menü bei Empfängerliste.


Aber zuerst einmal müssen wir unsere Excel-Datei anpassen. Die Vorbereitungen sind folgende:
Spalten sinnvoll einteilen, z.B. in Vorname, Nachname, E-Mail-Adresse:

Die Excel-Datei

Die Excel-Datei

So sieht die optimale Excel-Liste für einen einfachen Import von Adressen für Direct Mail aus.


Manchmal kommt es sicher vor, dass man die eigene Excel-Datei erstmal optimieren muss, weil man z.B. nur eine Spalte für den vollständigen Namen hat. Dies ist normalerweise auch kein Problem, führt aber beim Import über Direct Mail dazu, dass keine Namen importiert werden. Das hängt damit zusammen, dass es inzwischen die Felder Vorname und Nachname in der tt_address Tabelle der Datenbank gibt und wenn diese nicht gefüllt sind auch kein vollständiger Name generiert wird. Beim Import wird das Feld für Name dann einfach ignoriert und man erhält als Ausgabe den Wert [kein Titel] bei allen Datensätzen. Dazu werde ich demnächst noch einen eigenen Artikel verfassen und hier verlinken.


Aber jetzt erstmal weiter mit unserer optimierten Excel-Datei.

Über den Tab „Datei“ und den Menüpunkt „Speichern unter“ haben wir die Möglichkeit die Excel-Datei in einem anderen Format abzuspeichern:

Speichern unter

Speichern unter

Wir wählen hier den Datei-Typ „CSV (Trennzeichen getrennt)“:

Datei-Typ CSV (Trennzeichen getrennt) (*.csv)

Datei-Typ CSV (Trennzeichen getrennt) (*.csv)

Damit hätten wir unsere CSV-Datei erstellt und müssen diese nur noch über Direct Mail importieren.


Öffnet im TYPO3-Backend unter dem Menü für Direct Mail den Menüpunkt Empfängerliste und klickt anschließend auf „Hier klicken, um eine CSV-Datei einzulesen“:

Über Direct Mail eine CSV-Datei importieren

Über Direct Mail eine CSV-Datei importieren


Es folgt eine neue Maske in der man die gewünschte Datei auswählen kann. Über den Durchsuchen-Button die Datei einfach angeben und anschließend auf „Weiter“ klicken:

CSV-Datei auswählen

CSV-Datei auswählen


Die nächste Eingabe ist besonders wichtig: die Konfiguration für den Import. Hier ist es gut zu wissen, wie die CSV-Datei aussieht und welche Eigenschaften diese besitzt. Zuerst wählt ihr aber den Sysfolder, der als Speicherort für die Adress-Datensätze dienen soll:

Import-Konfiguration

Import-Konfiguration

Ich erkläre euch mal eben die Konfigurationsmöglichkeiten:

  • Wählen Sie den Speicherort für die importierten Benutzer:
    Hier wird der Sysfolder angegeben, in dem die Adress-Datensätze gespeichert werden sollen
  • Alle vorhandenen Adressdatensätze im Speicherort vor dem Import löschen:
    Das ist, denke ich, selbstredend ;)
  • Erste Datenreihe der CSV-Importdatei enthält Feldnamen:
    In der 1. Zeile unserer CSV-Datei stehen keine Werte, sondern deren Feldnamen, deswegen müssen wir diesen Haken auch setzen. Dies ist wichtig, um diese Zeile beim Import auszuschließen, da hier ja keine für den Import wichtigen Werte definiert sind.
  • Trennzeichen zwischen den einzelnen Datenfeldern (Feldtrenner):
    Dies definiert das Zeichen, welche die Werte voneinander trennt. In unserem Fall ist dies ein Semikolon (Tipp: Schaut euch die CSV-Datei erstmal in einem Editor, wie z.B. den kostenlosen PSPad an, um zu sehen, welches Zeichen benutzt wird.)
  • Datenfelder sind mit diesem Zeichen eingeschlossen:
    Hier könnt ihr die Standard-Konfiguration von doppelten Anführungszeichen belassen (dies trifft meistens zu)
  • Nur aktualisieren/importieren, wenn die zu importierende E-Mail ein gültiges Format besitzt.
    Dieser Punkt ist wohl auch selbstredend ;)
  • E-Mail-Dubletten in den CSV-Daten herausfiltern. Nur der erste CSV-Datensatz mit einer mehrfach vorkommenden E-Mail-Adresse wird importiert.
    Ist der Haken hier gesetzt wird bereits beim Import nach Dubletten gesucht. Dies empfiehlt sich, da es manchmal vorkommt, dass man eine E-Mail-Adresse doppelt besitzt und man möchte die Newsletter-Empfänger ja nicht mit doppelten E-Mails nerven.
  • Vorhandener Benutzer wird aktualisiert statt in neuen Benutzer umzubenennen:
    Auch hier ist die Aktivierung empfohlen, um doppelte Datensätze zu vermeiden.
  • Feld, das die Einzigartigkeit der importierten Benutzer feststellt:
    Hier wählen wir „email“ als einzigartigen Wert (diese kommt pro Benutzer nur einmal vor, einen Max Mustermann hingegen könnte es mehrfach geben).

Die von mir eingesetzte Konfiguration, wie ihr sie im Bild sehen könnt, ist für unsere Muster-Datei angepasst. Je nachdem, wie eure CSV-Datei aufgebaut ist, müsst ihr die Konfiguration natürlich anpassen.


Nun kommen wir zu den Einstellungen für den Import der Adressen.

Der Zeichensatz kann erstmal belassen werden (iso-8859-1). Ich habe testweise mal auf utf-8 umgestellt und die Maske aktualisiert. Nach der Umstellung wurden mir die Umlaute mit einem Symbol für fehlendes Zeichen markiert. Je nachdem, wie eure CSV-Datei aufgebaut und eure Datenbank konfiguriert ist, müsst ihr den Wert für den Zeichensatz anpassen:

Import-Einstellungen

Import-Einstellungen

Die weiteren Einstellungen betreffen die Felder der Datenbank und die Zellen eurer CSV-Datei. Hier müssen die Datenbankfelder den jeweilige Spalten der CSV-Datei zugeordnet werden. Als Vorschau erhält man die ersten paar Zeilen der Datei und hat die Möglichkeit alle Felder der Tabelle tt_address auszuwählen.

Wir wählen für die erste Spalte den Vornamen, für die zweite den Nachnamen und für die dritte die E-Mail-Adresse.

Sofern gewünscht ist, dass alle Datensätze HTML-Newsletter erhalten, muss noch der Haken bei „Alle Empfänger erhalten HTML-Newsletter“ gesetzt werden.

Über den Weiter-Button gelangen wir zum endgültigen Import der Daten und müssen diesen einfach nur noch anstoßen:

Daten Importieren

Daten Importieren

Das war’s auch schon. Eigentlich ganz easy ;)


Das vollständige Manual zu Direct Mail findet ihr im Repository: Direct Mail Manual

Hier findet ihr noch ein weiteres Tutorial und Erläuterungen zum Import von CSV-Daten über Direct Mail:
Wie kann ich in TYPO3 Adressen mit Direct Mail (direct_mail) importieren?

2 Kommentare » Schreibe einen Kommentar

  1. Pingback: Links 47 » WoWa-Webdesign Friedrichshafen, Bodensee

  2. Wirklich sehr schön erklärt.
    Stehe gerade vor dem Problem, dass beim Import der Name verloren geht. Lösung hab ich keine außer manuell Vor- und Nachmame in der CSV Datei zu editieren und das ist mir bei über 1000 Datensätzen dann doch zu blöd :)

Kommentar schreiben