Erweiterung zur Auswahl der Versandart für Newsletter

Ideen für neue Funktionen in CONTENIDO?
Antworten
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von Spider IT »

Hallo Contenido-Entwickler,

ich habe die Newsletter-Funktionalität erweitert um die Möglichkeit, per System-Experteneinstellungen und/oder Mandanteneinstellungen die Versandart festzulegen (mail / smtp / sendmail / qmail).
Hierzu habe ich in den Core-Dateien contenido/includes/classes/class.newsletter.php und contenido/includes/classes/class.newsletter.jobs.php, sowie in dem Modul Newsletter-Handler die Zeile (achtung, mehrfache Vorkommen)

Code: Alles auswählen

			$oMail->Mailer		= "mail";
ersetzt durch

Code: Alles auswählen

/* Spider IT Deutschland :: Mailer Configuration --> */
#			$oMail->Mailer		= "mail";
			$sMailer			= strtolower(getEffectiveSetting("newsletter", "mailer"));
			if (strlen($sMailer) == 0) {
				setSystemProperty("newsletter", "mailer", "mail");
				$sMailer		= "mail";
			}
			$oMail->Mailer		= $sMailer;
			if ($sMailer == "smtp") {
				$oMail->SMTPAuth = true;
				$oMail->Host     = getEffectiveSetting("newsletter", "host");
				$iPort           = intval(getEffectiveSetting("newsletter", "port"));
				if ($iPort == 0) {
					$iPort = 25;
				}
				$oMail->Port     = $iPort;
				$oMail->Username = getEffectiveSetting("newsletter", "username");
				$oMail->Password = getEffectiveSetting("newsletter", "password");
			}
/* <-- Spider IT Deutschland :: Mailer Configuration */
Die zusätzlichen Einstellungen sind:
  • newsletter - mailer - (mail / smtp / sendmail / qmail, mail wenn nicht angegeben)
  • newsletter - host - (Adresse des SMTP-Mailservers)
  • newsletter - port - (Port des SMTP-Mailservers, 25 wenn nicht angegeben)
  • newsletter - username - (Login auf dem SMTP-Mailserver, üblich ist die eMail-Adresse)
  • newsletter - password - (Kennwort für das SMTP-Postfach)
Es wäre schön, würde dies in die nächste Version mit einfließen.
Danke!

Gruß
René
xmurrix
Beiträge: 3200
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von xmurrix »

Hallo René,

eine sehr guter Vorschlag. Was haltest du davon, wenn man gleich die Klasse PHPMailer anpasst, so dass die Versandart direkt in der Klasse, z. B. im Konstruktor, gesetzt werden kann. So muss man nicht jedes mal, wenn man den Mailer verwenden will, die Versandart setzen. Das Ganze wäre dann auch von einer Stelle aus steuerbar.

Der PHPMailer hat sowieso CONTENIDO spezifische Funtionen verpasst bekommen, da macht meiner Meinung nichts aus, wenn man da auch noch die Steuerung der Versandart hinzufügt.

@all:
Weitere Vorschläge dazu sind gerne willkommen, aber bitte ohne Rundum-Kahlschlag ;-)

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
McHubi
Beiträge: 1223
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von McHubi »

Hallo,

Es wäre sinnvoll noch einmal auf folgende Punkte einzugehen:
1) Wie kann man das Anmeldeformular um weitere Datenfelder erweitern? Z. B. Name, Vorname, Geschlecht, PLZ usw... Hier ist zwar im Quellcode ein Kommentar enthalten aber so wirklich werde - zumindest ich - nicht daraus schlau. Es klappt einfach nicht.
2) Die Einbindung der zusätzlichen Datenfelder in den späteren Newsletter um z. B. eine persönliche Ansprache zu realisieren.

Das Ganze war/ist auch hier schon Thema, allerdings "festgefahren": http://forum.contenido.org/viewtopic.ph ... newsletter

Danke :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von Spider IT »

Hallo Murat,

wenn die Einstellungen dann immer noch zentral steuerbar sind (Experten-/Mandanteneinstellungen) ist mir das recht.
Allerdings sollte dann aus Kompatibilitätsgründen die Möglichkeit des nachträglichen Einstellens bleiben, denn es gibt einige Module, in den das bereits integriert ist.
Außerdem sollte es möglich sein, pro Formular separate Einstellungen zu machen.
Aber du hast schon recht, eine generelle Einstellmöglichkeit wäre schön.

Gruß
René
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von Spider IT »

Hallo McHubi,

Daten speichern:

Code: Alles auswählen

            cInclude('classes', 'class.frontend.users.php');
            $oFrontendUsers = new FrontendUserCollection;
            if ($frontenduser = $oFrontendUsers->create($sLogin)) {
                $frontenduser->set('password', $sPassword);
                # Zusaetzliche Angaben
                $frontenduser->setProperty('Kontakt', 'Nachname', Contenido_Security::escapeDB($sNachname));
                $frontenduser->setProperty('Kontakt', 'Vorname', Contenido_Security::escapeDB($sVorname));
                $frontenduser->setProperty('Kontakt', 'StrasseNr', Contenido_Security::escapeDB($sStrasseNr));
                $frontenduser->setProperty('Kontakt', 'Plz', Contenido_Security::escapeDB($sPlz));
                $frontenduser->setProperty('Kontakt', 'Ort', Contenido_Security::escapeDB($sOrt));
                $frontenduser->setProperty('Kontakt', 'E-Mail', Contenido_Security::escapeDB($sEmail));
                $frontenduser->store();
            }
Auslesen der Daten:

Code: Alles auswählen

        cInclude('classes', 'class.frontend.users.php');
        $oFrontendUsers = new FrontendUserCollection;
        $oFrontendUsers->setWhere('idclient', $client);
        $oFrontendUsers->setWhere('username', $sLogin);
        $oFrontendUsers->query();
        if ($frontenduser = $oFrontendUsers->next()) {
            $sMsg  = '<br />&nbsp; ' . $frontenduser->getProperty('Kontakt', 'Vorname') . ' ' . $frontenduser->getProperty('Kontakt', 'Nachname');
            $sMsg .= '<br />&nbsp; ' . $frontenduser->getProperty('Kontakt', 'StrasseNr');
            $sMsg .= '<br />&nbsp; ' . $frontenduser->getProperty('Kontakt', 'Plz') . ' ' . $frontenduser->getProperty('Kontakt', 'Ort');
            $sMsg .= '<br />&nbsp; ' . $frontenduser->getProperty('Kontakt', 'E-Mail');
        }
Für das Nutzen der Daten in den Newsletter habe ich leider keine Lösung parat, genauso wie zum Anzeigen der Daten unter Administration - Frontend.

Gruß
René
Oldperl
Beiträge: 4315
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 3 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von Oldperl »

Hallo,
xmurrix hat geschrieben:Was haltest du davon, wenn man gleich die Klasse PHPMailer anpasst,
Also das fände ich nicht gut, der phpMailer in Contenido ist nicht angepasst und auserdem wird die Klasse mehrfach in Contenido und in Modulen verwendet und sie ist eigentlich eine externe Library, die immer noch entwickelt wird!
Daher, wenn überhaupt, gehören Contenido-spezifische Änderungen NUR in eine abgeleitete Klasse. Die phpMailer-Klasse selbst gehört IMO sogar in ein lib- oder external-Verzeichnis.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
xmurrix
Beiträge: 3200
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von xmurrix »

Oldperl hat geschrieben:...
Also das fände ich nicht gut, der phpMailer in Contenido ist nicht angepasst und auserdem wird die Klasse mehrfach in Contenido und in Modulen verwendet und sie ist eigentlich eine externe Library, die immer noch entwickelt wird!
Daher, wenn überhaupt, gehören Contenido-spezifische Änderungen NUR in eine abgeleitete Klasse. Die phpMailer-Klasse selbst gehört IMO sogar in ein lib- oder external-Verzeichnis...
Hast recht, der PHPMailer sollte eigentlich nicht geändert werden, hat aber schon an ein paar Stellen Änderungen bekommen (i18n, MailSend und EncodeFile). Ok, das Ganze muss man sich dan wohl genauer ansehen...

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
lunsen_de
Beiträge: 300
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von lunsen_de »

Hallo,

ich habe ein Problem mit einer 4.8.20 Version. Ich weiß, nicht ganz das richtige Forum. Aber in folgendem Beitrag

viewtopic.php?f=105&t=33732&hilit=newsletter+smtp

hat scheinbar Leonhard das bei einer 4.8 zum laufen bekommen.

Ich habe Alles wie oben von Rene beschrieben umgesetzt. SMTP Zugangsdaten eingetragen usw. Leider bekomme ich keine Fehlermeldung und funktionieren tut es trotzdem nicht.

Woran könnte es noch liegen. Beim Testnewsletter kommt immer .....Der Newsletter wurde nicht gesendet....
Auch die Newsletteranmeldung spuckt nach wie vor den Fehler, dass die Bestätigungsmail nicht verschickt werden, kann aus.

PS: Ich muss das zum Laufen bekommen, da der Provider der Webseite die Funktion mail deaktiviert hat.

Grüße larslunsen
Oldperl
Beiträge: 4315
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 3 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Erweiterung zur Auswahl der Versandart für Newsletter

Beitrag von Oldperl »

Servus,

ich schau mir das mal für 4.8 die Tage an. Wollte sowieso das NL-Plugin bei der ConLite noch ein wenig pimpen.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Antworten