Direct Mail: interne Newsletter

Das Szenario

  • ein geschützter Kundenbereich
  • ein Newsletter für Kunden (Direct Mail)
  • ein Newsletter-Archiv im Kundenbereich

Das Problem

Wird der Newsletter (bzw. die interne Seite, die dem Newsletter als Basis dient) via Frontend-Benutzergruppen-Einschränkung vor ungewollten Blicken geschützt, kann sein Inhalt auch von Direct Mail nicht gecrawlt werden.
Schützt man die Seite hingegen nicht, kann sie von jedem beliebigen User aufgerufen werden, sobald er die URL kennt.

Die Lösung

Wie löst ihr solche Anforderungen ohne viel Technik-Bastelei?

Es hat etwas Hirnschmalz und etliche Testläufe abverlangt, aber eine mögliche Lösung wäre wie folgt:

TypoScript des Newsletters
Im Newsletter wird das PAGE-Objekt gelöscht, falls der Zugriff weder aus dem Backend heraus, noch vom eigenen Server aus kommt. Der eigentlich unnötige [else]-Zweig ist auf einen Bug im TYPO3-Core zurückzuführen, welcher es unter gewissen Umständen nicht erlaubt Conditions mit einen NOT zu versehen.

[globalString = ENV:REMOTE_ADDR = 127.0.0.1] || [globalVar = TSFE : beUserLogin > 0]
[else]
page >
[end]

Dies setzt allerdings voraus, dass die Domain, welche zum Fetchen des Contents von TYPO3 verwendet im Server (/etc/hosts) auf die IP-Adresse 127.0.0.1 eingetragen wird. Anderenfalls greift die im DNS hinterlegte IP-Adresse.
Als Alternative kann man die Condition einfach um alle vom Server verwendeten IP-Adressen erweitern.

Danke, Alex, für die Vorarbeit zum Artikel!

Schreibe einen Kommentar