Das Problem mit locationData ist kein "Problem", sondern eine Sicherheitseinrichtung von typo3, um zu verhindern, dass Robots Massenmails verschicken, soll heissen: locationData ist dazu da, sicherzustellen, dass die verschickte Mail von einem Formular verschickt wird, das es tatsächlich GIBT (zugegeben, ein schlampiger Schutz - andere Extensions verwenden Captcha und sind damit sicherer. Egal.)
Auf https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Index.html stehts übrigens gut beschrieben.
In Kürze: locationData ist ein verstecktes Feld, das bei mir zB so aussieht:
<input type="hidden" name="locationData" value="527:tt_content:984" />
Die Syntax ist: "pid:table:uid", und typo3 validiert nun: gibts auf der Seite "pid" ein Element aus der Tabelle "table" mit der uid "uid" und ist die auch aktiv und zu sehen (= nicht unsichtbar, nicht un-ausgegeben weil user nicht eingeloggt, nicht gelöscht)? Wenn ja, wird eine Mail verschickt. Wenn nein --> kommt alles in den Gully.
Trick, um das zu umgehen:
1) leg Dir das Mailformular auf irgendeine Seite, die stellst Du "nicht im Menue" und verrätst niemandem, dass es die Seite gibt :-)
2) hart-codiere Dein Mailformular (mit typoscript, templates, php, wurschtwas) mit dem hidden field "locationData" und der richtigen Codierung (TYPO3 sieht nämlich nicht nach, ob der Output von diesem Formular IST, sondern nur obs das Formular GIBT).
Dann gehts!
Ich habs verwendet, um in CAL ein Anmeldeformular einzubinden, das in versteckte Felder gleich Daten aus CAL einträgt --> inject von Daten in ein Mailformular ist mir noch nicht anders gelungen.
:-)