Contao-Camp 2024
Ergebnis 1 bis 19 von 19

Thema: Automatischer Mailversand bei neuem Mitglied

  1. #1
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Frage Automatischer Mailversand bei neuem Mitglied

    Hi,

    mit dem NC lassen sich ja entsprechende Nachrichten an neue Mitglieder versenden, wenn sich diese über das Frontend registrieren.

    Funktioniert das auch, wenn man ein neues Mitglied über das Backend einrichtet? Dieses soll nämlich eine automatisierte Mail erhalten, welche die Zugangsdaten enthält.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Installier dir "menatwork/registration_info_mailer".

    Das erweitert die BE Maske von Mitgliedern um entsprechende Optionen zum Senden von Mails via NC.

  3. #3
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Das sieht grundsätzlich gut aus. Scheint nur nicht unter 4.4 zu funktionieren...

    Code:
    [2019-02-01 12:29:06] request.INFO: Matched route "contao_backend". {"route":"contao_backend","route_parameters":{"_scope":"backend","_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\BackendController::mainAction","_route":"contao_backend"},"request_uri":"contao?act=edit&do=member&id=6&ref=s313x2cw&rt=sEBbgRJ6Bg2DFat9rl8aAqgYBdNLGIIz6f51zlwRZN8","method":"POST"} []
    [2019-02-01 12:29:06] security.INFO: Attempting SimplePreAuthentication. {"key":"backend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []
    [2019-02-01 12:29:06] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Type error: Too few arguments to function RegistrationInfoMailer\\Handler::sendChangeMail(), 2 passed in /var/cache/prod/contao/dca/tl_member.php on line 606 and exactly 3 expected at /system/modules/registration_info_mailer/src/Handler.php:92)"} []
    Dieser Fehler tritt auf, wenn ich ein neues Mitglied anlege, die entsprechenden Häkchen setze und auf speichern klicke.
    Geändert von mapfei (01.02.2019 um 12:32 Uhr)
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  4. #4
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Warum scheint es unter Contao 4.4 nicht zu funktionieren?

    Manuelle Installation versucht?

  5. #5
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Genau. Manuell habe ich die Erweiterung nun installiert bekommen. Siehe nur Post #3, was beim Anlegen eines neuen Mitglieds geschieht.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  6. #6
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dann mach mal ein Ticket auf Github

  7. #7
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hab die Erweiterung in einer Contao 4.6 installiert. Via Contao Manager in der Version "dev-master" eingeben.

    Also bei mir läuft es.

  8. #8
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Du hast Recht. Mit "dev-master" funktioniert die Installation über den CM nun immerhin. Allerdings: wenn ich ein neues Mitglied im Backend anlege und "Benachrichtigungsmail verschicken (einmaliger Versand)" anhake und die entsprechende Aktivierungsmail auswähle, erhalte ich bei "Speichern und schließen" folgenden Fehler:

    Code:
    Type error: Too few arguments to function RegistrationInfoMailer\Handler::sendChangeMail(), 2 passed in /var/cache/prod/contao/dca/tl_member.php on line 606 and exactly 3 expected
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  9. #9
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Habe ein Ticket bei Github eröffnet.

    Generell: lassen sich mit dieser Erweiterung auch Benutzername und vor allem Kennwort per NC versenden?
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  10. #10
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hab die Erweiterung nun noch mal in einer Contao 4.4.34 Instanz installiert. Geht alles super. E-Mails werden ohne Fehler versendet.

    Zitat Zitat von mapfei Beitrag anzeigen
    Generell: lassen sich mit dieser Erweiterung auch Benutzername und vor allem Kennwort per NC versenden?
    Ja, z.B: so:

    Code:
    Benutzername: {{post::username}}
    Passwort: {{post::password}}

  11. #11
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Ok. Ich hab die Erweiterung nun auch nochmals in einer anderen Contao-Installation eingerichtet und es tritt der selbe Fehler auf. Seltsam...

    Wohlgemerkt beides v4.6.

    Eben nochmal eine frische 4.4.34 aufgesetzt und immer noch das selbe Problem. Oder mache ich was falsch? Bildschirmfoto 2019-02-06 um 16.21.28.png

    Hier noch der etwas ausführlichere Log-Eintrag:
    Code:
    [2019-02-06 16:19:29] request.INFO: Matched route "contao_backend". {"route":"contao_backend","route_parameters":{"_scope":"backend","_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\BackendController::mainAction","_route":"contao_backend"},"request_uri":"/contao?act=edit&do=member&id=1&ref=nsqh8Ny4&rt=4cZ-CD1_YIxe6z-9g7hFd0Mrg1IrEozqOmEBVGejBRw","method":"POST"} []
    [2019-02-06 16:19:29] security.INFO: Attempting SimplePreAuthentication. {"key":"backend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []
    [2019-02-06 16:19:30] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Type error: Too few arguments to function RegistrationInfoMailer\\Handler::sendChangeMail(), 2 passed in /var/cache/prod/contao/dca/tl_member.php on line 606 and exactly 3 expected at /vendor/menatwork/registration_info_mailer/system/modules/registration_info_mailer/src/Handler.php:92)"} []
    Ich habe weiter getestet: wenn ich "Login erlauben" weg lasse, dann wird erfolgreich eine Mail versendet, allerdings immer die Deaktivierungs-Mail, obwohl diese klar als Typ "Deaktivierung eines Accounts" definiert wurde und die Bestätigungsmail als "Aktivierung eines Accounts". Sobald ich "Login erlauben" anklicke und Benutzernamen und Kennwort vergebe, erscheint beim absenden/speichern die o.g. Fehlermeldung.
    Geändert von mapfei (06.02.2019 um 17:45 Uhr)
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  12. #12
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wie sieht der Eintrag im Contao Manager aus? (oder in der composer.json)

    Ansonsten wäre die Datei "/var/cache/prod/contao/dca/tl_member.php" mal interessant ... dort um und bei Zeile 606 soll "sendChangeMail" aufgerufen werden.
    Wenn dem so ist, wäre interessant, was bzw. wer dort den tl_member DCA erweitert. Wenn du von dort nach oben scrollst kommt irgendwann ein "namespace {" ... damit wird der Block gekapselt ... kann man da den Ursprung erkennen?
    Geändert von cliffparnitzky (06.02.2019 um 21:11 Uhr)

  13. #13
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    composer.json
    Code:
    {
        "type": "project",
        "require": {
            "contao/calendar-bundle": "^4.4",
            "contao/comments-bundle": "^4.4",
            "contao/faq-bundle": "^4.4",
            "contao/listing-bundle": "^4.4",
            "contao/manager-bundle": "4.4.*",
            "contao/news-bundle": "^4.4",
            "contao/newsletter-bundle": "^4.4",
            "menatwork/registration_info_mailer": "dev-master",
            "terminal42/notification_center": "^1.5"
        },
        "extra": {
            "contao-component-dir": "assets"
        },
        "scripts": {
            "post-install-cmd": [
                "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
            ],
            "post-update-cmd": [
                "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
            ]
        }
    }
    //var/cache/prod/contao/dca/tl_member.php (Zeilen 578-612)
    Code:
    	/**
    	 * Call the "setNewPassword" callback
    	 *
    	 * @param string                    $strPassword
    	 * @param DataContainer|MemberModel $user
    	 *
    	 * @return string
    	 */
    	public function setNewPassword($strPassword, $user)
    	{
    		// Return if there is no user (e.g. upon registration)
    		if (!$user)
    		{
    			return $strPassword;
    		}
    
    		$objUser = $this->Database->prepare("SELECT * FROM tl_member WHERE id=?")
    								  ->limit(1)
    								  ->execute($user->id);
    
    		// HOOK: set new password callback
    		if ($objUser->numRows)
    		{
    			if (isset($GLOBALS['TL_HOOKS']['setNewPassword']) && \is_array($GLOBALS['TL_HOOKS']['setNewPassword']))
    			{
    				foreach ($GLOBALS['TL_HOOKS']['setNewPassword'] as $callback)
    				{
    					$this->import($callback[0]);
    					$this->{$callback[0]}->{$callback[1]}($objUser, $strPassword);
    				}
    			}
    		}
    
    		return $strPassword;
    	}
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  14. #14
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah, nun ist alles klar.

    Der Fehler tritt nur auf, wenn das Passwort auch neu gesetzt wird (genau das hab ich nicht getestet).

    Dazu steht alles hier https://github.com/menatwork-ia/regi...ailer/issues/3 und der Fix von Spooky ist das hier https://github.com/menatwork-ia/regi...ailer/issues/6.

  15. #15
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Perfekt! Funktioniert nun tatsächlich! Danke für deine Mühen!

    Allerdings wird bei Deaktivierung des Benutzers noch die Aktivierungsmail versendet.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  16. #16
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    hmmm, hab ich bisher nicht ausprobiert.

  17. #17
    Contao-Fan Avatar von mapfei
    Registriert seit
    11.05.2010.
    Ort
    Much
    Beiträge
    692

    Standard

    Ist für meinen Anwendungsfall jetzt nicht relevant, aber ich habs getestet und da ist es mir aufgefallen.
    Viele Grüße, Markus
    --------------------------------
    Markus Pfeifer – Digital Designer & -Developer

  18. #18
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard Aktivierungsmail wird auch bei Deaktivierung versendet

    Hallo,
    es klappt alles wunderbar. Nur wird leider bei jeder Deaktivierung die Mail versendet, die bei Aktivierung eines Accounts verschickt wird. In den Einstellungen ist alles korrekt hinterlegt. Ich verstehe nicht, wo der Fehler liegt. Kann jemand helfen? Vielen Dank!

  19. #19
    Contao-Fan Avatar von fusch
    Registriert seit
    25.03.2012.
    Ort
    München
    Beiträge
    498
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo dudette,

    schau mal hier: https://community.contao.org/de/show...l=1#post495493

    Das scheint ein Bug zu sein und nicht Dein Fehler.

    LG
    Hella
    Mitglied des Contao User Treffen München
    Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
    Komm' doch mal vorbei!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •