Seite 1 von 1
Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Fr 23. Sep 2011, 10:02
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)
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é
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Fr 23. Sep 2011, 10:58
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
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Fr 23. Sep 2011, 12:13
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
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Fr 23. Sep 2011, 13:32
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é
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Fr 23. Sep 2011, 13:43
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 /> ' . $frontenduser->getProperty('Kontakt', 'Vorname') . ' ' . $frontenduser->getProperty('Kontakt', 'Nachname');
$sMsg .= '<br /> ' . $frontenduser->getProperty('Kontakt', 'StrasseNr');
$sMsg .= '<br /> ' . $frontenduser->getProperty('Kontakt', 'Plz') . ' ' . $frontenduser->getProperty('Kontakt', 'Ort');
$sMsg .= '<br /> ' . $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é
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: So 25. Sep 2011, 19:18
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
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: So 25. Sep 2011, 21:22
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
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Do 4. Apr 2019, 15:54
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
Re: Erweiterung zur Auswahl der Versandart für Newsletter
Verfasst: Sa 6. Apr 2019, 08:15
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