createNewUser-HOOK: Info-Mail versenden

Der createNewUser-HOOK wird bei der Registrierung eines neuen Mitglieds ausgeführt. Er übergibt die ID des neuen Mitglieds, das Datenarray und erwartet keinen Rückgabewert. Mit diesem HOOK kann z.B. praktisch eine Info-Mail ausgelöst werden, damit der Website-Administrator bei einer Neuregistrierung informiert wird.

config.php

$GLOBALS['TL_HOOKS']['createNewUser'][] = array('MyModuleClass', 'createNewUser');

MyModuleClass.php

public function createNewUser($intId, $arrData){

	// $intId = ID des Mitglieds
	// $arrData = Felder der Registrierung

    $objEmail = new Email(); //Neues Email-Objekt erzeungen
    $objEmail->subject = 'Neue Registrierung'; //Betreff
    $objEmail->text = $arrData['firstname'].' '.$arrData['lastname'].'(ID: '.$intId.') hat sich neu bei domain.ch registriert.'; //Mail-Text
    $objEmail->sendTo('info@domain.ch'); //Mail senden. (Mehrere Empfänger mit Komma trennen)
    
}

Es gibt ausserdem noch den activateAccount-HOOK. Dieser HOOK wird bei der Aktivierung eines neuen Mitgliederkontos ausgeführt (also nachdem das Mitglied die Registrierung via das Bestätigungsmail bestätigt hat). Dieser HOOK übergibt über das Benutzer-Objekt auch die Mitglieder-Daten. Darum könnte auch hier die Info-Mail generiert werden. Ich finde die Platzierung beim createNewUser-HOOK jedoch besser, da der Administrator schon frühzeitig über die Registrierung informiert wird. Ich hatte schon den Fall, dass ich dadruch bemerkt habe, dass sich jemand registrierte, aber das Konto nicht aktiviert hatte und konnte dann entsprechend reagieren und die entsprechende Person kontaktieren (Bestätigungsmails können z.B. in Spam-Filtern hängen bleiben).

Kommentare

Kommentar von Hartmut Schneider |

Hallo Marco,

habe deine createNewUser-HOOK: Info-Mail versenden mal auf meiner Website implementiert und getestet.

Leider funktioniert die bei mir nicht. Es kommt im Frontend eine Contao-Fehlermeldung, dass ein Script nicht korrekt ausgeführt wird.

Dazu 2 Fragen:

in der Datei MyModuleClass.php fehlt im Script vermutlich die öffnende ´Klammer nach

public function createNewUser($intId, $arrData) {

Die habe ich selbst hinzugefügt.

Trotzdem kommt noch die Script-Fehlermeldung.

Frage: Habe die Datei MyModuleClass.php ebenfalls im Verzeichnis contao/config
angelegt. Ist das korrekt?

Was könnte der Grund sein, warum deine Konfiguration bei mir nicht funktioniert

Grüße Hartmut

Antwort von Marco Simbürger

Hallo Hartmut

Vielen Dank für deine Nachricht.

Mein Beitrag hier ist schon ziemlich alt (10 Jahre). In der Zwischenzeit hat sich viel getan. Schau am besten bei der offiziellen Contao-Doku nach. Dort ist alles sehr gut beschrieben.

Beste Grüsse
Marco

Einen Kommentar schreiben

Was ist die Summe aus 7 und 2?