Welcome, Guest. Please login or register.
Did you miss your activation email?
February 12, 2012, 10:02:55 AM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
149631 Posts in 21098 Topics by 7537 Members
Latest Member: lotte2
* Home Help Search Login Register
Pages: [1] 2 3 ... 5   Go Down
Print
Author Topic: Newsletter Modul & Massmail  (Read 25239 times)
Ralf (Berlin)

Offline Offline

Posts: 1314


« on: November 04, 2007, 04:33:20 PM »

Hallo Leute,

für einen Kunden muss ich eine Newsletter Lösung erstellen, leider gibt es für WB bislang nur das Massmail Modul, das allerdings kein einfaches Ein- oder Austragen für die Besucher ermöglicht sondern auf registrierte oder von Hand eingetragene User beschränkt ist.

Da man ja nicht jedesmal das Rad neu erfinden muss, habe ich also ein Snippet = Newsletter Modul geschrieben, dass eine An- bzw. Abmeldung für einen Newsletter auch für nicht registrierte User ermöglicht. Die Aktivierung bzw. Austragung erfolgt jeweils über einen Aktivierungslink, der per E-Mail zugesendet wird, die User werden in Massmail eingetragen bzw. verwaltet, der eigentliche Versand des Newsletters erfolgt ebenfalls über Massmail.

Nach der Installation von Massmail und Newsletter bearbeitet Ihr euer Template und fügt die Dialogbox für den Newsletter an der gewünschten Stelle ein:

Code:

<?php
    
if (function_exists('newsletter_info')) {
      
newsletter_info('Newsletter','newsletter@ralf-hertsch.de');  }
?>


Der erste Parameter von newsletter_info(), im Beispiel 'Newsletter', legt die Mailgruppe fest, in die Abonnenten eingetragen werden. Diese Mailgruppe wird in Massmail definiert und muss bereits existieren.

Der zweite Parameter legt fest, welche E-Mail Adresse als Absender für die Aktivierungsmails verwendet werden soll.

Damit ist die Installation des Newsletter Modul abgeschlossen, eine weitere Konfiguration ist nicht erforderlich.

Die Formatierug der Dialogbox und der Meldungen durch das Newsletter Modul sollte über die frontend.css des Templates erfolgen.

Das Newsletter Modul findet ihr in der Anlage, ich freue mich auf zahlreiche Rückmeldungen und Verbesserungsvorsch läge!

Ralf

newsletter_0.10.zip entfernt - siehe neuere Posts für aktuelle Version
« Last Edit: November 07, 2007, 06:22:56 PM by Ralf (Berlin) » Logged
ruebenwurzel
WebsiteBaker Org e.V.

Offline Offline

Posts: 7661



WWW
« Reply #1 on: November 04, 2007, 04:38:42 PM »

Hallo,

da haben viele drauf gewarted. Werd mir das ganze gleich mal reinziehen. Wenn das so funktioniert, wie du das beschreibst, wäre das exakt das was ich schon lange suche.

Matthias
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #2 on: November 04, 2007, 06:43:36 PM »

Hallo Matthias,

dann bin ich gespannt, ob es so funktioniert, wie du es erwartest...

Gruß
Ralf
Logged
daveland

Offline Offline

Posts: 80


« Reply #3 on: November 04, 2007, 08:00:03 PM »

Hallo Ralf!

Auch ich suche schon lange eine Möglichkeit nach einem Newsletter-Modul.
Ich hab das ganze mal testweise installiert und folgendes zu bemerken:

Meine Testseite befindet sich auf einem Unterordner, also z.B. homepage.com/test.
Wenn ich jetzt diese Aktivierungsmail bekomme, wird für den Aktivierungslink der Unterordner zweimal ausgegeben:
homepage.com/test/test/index.php?nl_action=activate&nl_check=12345678

Kann nicht sagen wo das herkommt, da reichen meine Kentnisse nicht.

Was mir gefallen würde, wäre wenn man eine Seite erstellen könnte, z.B. Newsletter wo ich dann eben auf den Link klicke und dann meine email eintragen kann. Also der Newsletter nicht auf der Startseite ist, sondern eben woanders.

Aber auf jeden Fall eine super Sache dein Modul. Bin begeistert!

Gruß,
Markus
Logged
BerndJM

Offline Offline

Posts: 1764



« Reply #4 on: November 04, 2007, 08:28:36 PM »

Hi Markus,

Quote
Was mir gefallen würde, wäre wenn man eine Seite erstellen könnte, z.B. Newsletter wo ich dann eben auf den Link klicke und dann meine email eintragen kann. Also der Newsletter nicht auf der Startseite ist, sondern eben woanders.

Das erreichst du einfach dadurch, daß du den Funktionsaufruf anstatt ins Template in eine Seite vom Typ Code schreibst, oder in einer bestehenden Seite einen Codeblock einfügst.

Grüßle Bernd
Logged

In theory, there is no difference between theory and practice. But, in practice, there is.
daveland

Offline Offline

Posts: 80


« Reply #5 on: November 04, 2007, 08:33:50 PM »

Das erreichst du einfach dadurch, daß du den Funktionsaufruf anstatt ins Template in eine Seite vom Typ Code schreibst, oder in einer bestehenden Seite einen Codeblock einfügst.
Grüßle Bernd
Ah, jetzt versteh ich. Das funktioniert super, danke.

Was ich vorhin noch vergessen habe zu erwähnen, dieser Aktivierungslink ist nicht aktiv.
Vielleicht kann da noch was gemacht werden.

Gruß,
Markus
Logged
BerndJM

Offline Offline

Posts: 1764



« Reply #6 on: November 04, 2007, 09:01:03 PM »

Ok, die Sache mitdem doppelten Unterverzeichnis,
da habe ich schonmal die Ursache gefunden, aber grade keine Peilung, wie man das ändern könnte.

Der Link wird zusammengebaut unter Verwendung  von WB_URL und $_SERVER['PHP_SELF'], das Unterverzeichnis ist in beiden Variablen enthalten deshalb wird es doppelt ausgegeben.

@Ralf:
und wie kommt man jetzt "aus der Nummer raus" huh

Grüßle Bernd
Logged

In theory, there is no difference between theory and practice. But, in practice, there is.
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #7 on: November 05, 2007, 04:42:26 AM »

Hallo Bernd,

Quote
Der Link wird zusammengebaut unter Verwendung  von WB_URL und $_SERVER['PHP_SELF'], das Unterverzeichnis ist in beiden Variablen enthalten deshalb wird es doppelt ausgegeben.

Hmm, ohne nachzudenken zusammengepappt - ich lasse mir was einfallen...

Quote
und wie kommt man jetzt "aus der Nummer raus" huh

Ähmmm, da ist kein Entkommen vorgesehen rolleyes
Die einzige Chance ist, den Eintrag in der mod_newsletter mit Hilfe von phpMyAdmin per Hand zu löschen. Für solche "Notfälle" sollte ich mir vielleicht auch gleich etwas einfallen lassen...

Vielen Dank erstmal!
Gruß
Ralf
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #8 on: November 05, 2007, 04:48:06 AM »

Hallo Markus,

Quote
Was ich vorhin noch vergessen habe zu erwähnen, dieser Aktivierungslink ist nicht aktiv.
Vielleicht kann da noch was gemacht werden.

Was meinst du damit, dass der Aktivierungslink nicht aktiv ist? Verstehe ich nicht?

Viele Grüße
Ralf
Logged
doc
Guest
« Reply #9 on: November 05, 2007, 05:47:04 AM »

Hallo,

zwecks doppelten Pfad, könntest Du z.B. sowas verwenden:
Code:
$module_path = str_replace(WB_PATH .DIRECTORY_SEPARATOR .'modules' .DIRECTORY_SEPARATOR, '', dirname(__FILE__));

Gruss Chrisitan
Logged
daveland

Offline Offline

Posts: 80


« Reply #10 on: November 05, 2007, 06:25:44 AM »

Was meinst du damit, dass der Aktivierungslink nicht aktiv ist? Verstehe ich nicht?
Ralf

Hallo Ralf,
damit meine ich das ich den erstellten Link in der Aktivierungsmail nicht direkt anklicken kann, sondern kopieren und im Browser aufrufen muss.

Gruß,
Markus
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #11 on: November 05, 2007, 06:15:10 PM »

Ok, in der Anlage findet ihr eine aktualisierte Version, in der das Problem mit dem fehlerhaften Link behoben sein sollte.

@Markus:

Für das Problem mit dem "nicht aktiven Aktivierungslink" habe ich noch keine endgültige Lösung gefunden. Die $wb->mail() function versucht Mails grundsätzlich im HTML Format zu versenden, was natürlich nur gut funktioniert, wenn der übergebene Text auch im entsprechenden Format ist. Ich habe die Mails jetzt mal entsprechend formatiert aber ich bin nicht glücklich darüber und suche noch eine andere Lösung...

Gruß
Ralf

newsletter_0.11.zip entfernt - siehe neuere Posts für aktuelle Version
« Last Edit: November 07, 2007, 06:22:30 PM by Ralf (Berlin) » Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #12 on: November 05, 2007, 06:41:28 PM »

Hallo Christian,

dein Lösungsansatz

Code:
$module_path = str_replace(WB_PATH .DIRECTORY_SEPARATOR .'modules' .DIRECTORY_SEPARATOR, '', dirname(__FILE__));

funktioniert prima, solange sich WB nicht in einem Unterverzeichnis der Domain befindet. Konnte da keinen Ausweg finden...

Ich habe das Problem jetzt so gelöst, dass ich die $page_id abfrage und über eine DB Abfrage den Link zusammenstelle:

Code:
function getSettingValue($settingName) {
    global $database;
    global $sql_result;
    $oldErrorReporting = error_reporting(0);
    $sql_result = $database->query("SELECT * FROM ".TABLE_PREFIX."settings WHERE name='$settingName'");
    error_reporting($oldErrorReporting);
    if ($database->is_error()) {
      return false;  }
    if ($sql_result->numRows() > 0) {
      $arr = array();
      $arr = $sql_result->fetchRow();
      return $arr['value'];  }
    else {
      return false;  }
  }

  function getPageURLbyPageID($pageID) {
    global $database;
    global $sql_result;
    $oldErrorReporting = error_reporting(0);
    $sql_result = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id='$pageID'");
    error_reporting($oldErrorReporting);
    if ($database->is_error()) {
      return false;  }
    if ($sql_result->numRows() > 0) {
      $arr = array();
      $arr = $sql_result->fetchRow();
      $link = WB_URL . $this->getSettingValue('pages_directory') . $arr['link'] . $this->getSettingValue('page_extension');
      return $link;  }
    else {
      return false; }
  }

Das ist zwar etwas umfangreicher, dafür sollte es tatsächlich unter allen Bedingungen funktionieren  grin

Gruß
Ralf
Logged
daveland

Offline Offline

Posts: 80


« Reply #13 on: November 06, 2007, 07:18:38 AM »

Hallo Ralf.

Klasse, das Modul funktioniert super. Hab das neue jetzt installiert und funktioniert sogar mit Unterordner perfekt. Super, bin begeistert. Danke für dieses Modul!

Eine Frage noch, wie siehts eigentlich mit der Belastung aus? Sprich kann dieses Modul (natürlich in Verbindung mit massmail) auch große Mengen an email-adressen verkraften?

Gruß,
Markus
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #14 on: November 06, 2007, 08:22:06 AM »

Hallo Markus,

Quote
Klasse, das Modul funktioniert super. Hab das neue jetzt installiert und funktioniert sogar mit Unterordner perfekt. Super, bin begeistert. Danke für dieses Modul!

Danke  cool

Quote
Eine Frage noch, wie siehts eigentlich mit der Belastung aus? Sprich kann dieses Modul (natürlich in Verbindung mit massmail) auch große Mengen an email-adressen verkraften?

Das Newsletter Modul ist ja nur eine Schnittstelle zu Massmail, in wie weit Massmail mit großen Mengen an E-Mail Adressen zurecht kommt, kann ich dir nicht sagen. Das Newsletter Modul selbst sollte keine Probleme bekommen, auch wenn mehrere Dutzend An- oder Abmeldungen gleichzeitig abgewickelt werden - aber das hat ja nichts mit dem Versand zu tun...

Gruß
Ralf
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #15 on: November 07, 2007, 06:20:44 PM »

In der Anlage findet ihr newsletter_0.12.zip .

Diese Version bringt zwei neue Funktionen:

  • Versand von E-Mails im reinen Text Format
  • Statusmails für den Administrator

sowie ein paar Änderungen bei der Formatierung von Texten.

Parameter:

newsletter_info($massmailGroup, $fromEMail, $textOnly=true, $infoAdmin=false)

$massmailGroup ist die Mailgruppe in Massmail, die vom Newsletter Modul verwendet wird. Die Gruppe muss bereits existieren.

$fromEMail ist die E-Mail Adresse, die als Absender für die Aktivierungsmails verwendet wird. An diese Adresse sendet das Newsletter Modul Statusmeldungen, wenn der Schalter $infoAdmin auf true gesetzt ist (Voreinstellung ist false).

Wenn $textOnly auf true gesetzt ist (Voreinstellung), versendet das Newsletter Modul nur Mails im reinen Textformat, ansonsten wird die $wb->mail() Funktion verwendet und E-Mails im Multipart Modus versendet.

Aus meiner Sicht ist das Newsletter Modul damit ziemlich vollständig, ich wüsste im Moment nicht was noch fehlt, außer ein wenig Dokumentation und einer englischen Übersetzung oder fällt euch noch etwas ein?

Gruß
Ralf

newsletter_0.12.zip entfernt - siehe neuere Posts für aktuelle Version
« Last Edit: November 11, 2007, 02:16:05 PM by Ralf (Berlin) » Logged
DacoHH

Offline Offline

Posts: 91



« Reply #16 on: November 10, 2007, 01:22:33 PM »

Hallo!


Kurze Frage, würde gerne auf meiner seite leuten die möglichkeit geben sich in den newsletter ein oder auszutragen. geht das? Wenn ja wie müßte der code aussehen.


wer kann helfen
Logged
daveland

Offline Offline

Posts: 80


« Reply #17 on: November 10, 2007, 02:35:28 PM »

Hallo.
Nun, Ralf stellt doch einen Thread oberhalb Deinem ein Newsletter-Modul zur Verfügung, hier können sich die Leute ein- und austragen.

Ist übrigens ein Klasse-Modul, benötigst dazu allerdings das Massmail-Modul, welches du auf der Addon-Seite findest.

daveland
Logged
Funky_MF

Offline Offline

Posts: 270



« Reply #18 on: November 10, 2007, 02:44:08 PM »

Hallo!

Kurze Frage, würde gerne auf meiner seite leuten die möglichkeit geben sich in den newsletter ein oder auszutragen. geht das? Wenn ja wie müßte der code aussehen.

wer kann helfen

@Daco, bitte !
Bevor du hier postest, les dir doch mal den GANZEN Thread hier durch, probier z.b. den Code dieses Moduls aus und wenn du DANN nicht zurecht kommst, stell deine Fragen, aber bitte dann auch bitte etwas konkreter.

Sorry, aber das musste ich jetzt mal loswerden, den letzten "Wink mit dem Zaunpfahl" von BerndJM hast du anscheinend nicht verstanden:
Quote
P.S.: ich hab' keine Kippen mehr ... könnte mal jemand für mich zum Automat gehen?
http://forum.websitebaker.org/index.php/topic,7797.msg47105.html#msg47105

Gruß
Manfred
Logged

Es ist keine Schande, nicht alles zu wissen;
wohl aber, es nicht zugeben zu wollen.
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #19 on: November 10, 2007, 03:10:22 PM »


@Daco

mir ist schon klar, dass die Einbindung des Newsletter Moduls für einen Laien nicht ganz so einfach ist.  Ich werde in Kürze einen Leitfaden mit den verschiedenen Möglichkeiten für die Einbindung des Newsletter Moduls bereitstellen.

Gruß
Ralf
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #20 on: November 10, 2007, 05:17:13 PM »


Ich habe gerade die Version v0.13 im englischsprachigen Module Forum zum Testen bereitgestellt, damit es auch dort getestet und danach für das addons repository freigegeben wird.

Diese Version behebt kleinere Fehler, ergänzt die Meldungen im Frontend um einen "OK" Button und verfügt über eine EN.php.

Gruß
Ralf
Logged
DacoHH

Offline Offline

Posts: 91



« Reply #21 on: November 10, 2007, 07:18:30 PM »

Danke Ralf, mir ist es gelungen es einzubinden. hat zwar gedauert, aber habs dann doch kapiert.  afro

Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #22 on: November 11, 2007, 02:13:24 PM »

Wie versprochen gibt es jetzt eine Anleitung zum Einbinden des Newsletter Snippet.

Darüber hinaus kann dort die jeweils aktuelle Version des Newsletter Snippet heruntergeladen werden.

Gruß
Ralf
« Last Edit: November 11, 2007, 02:17:05 PM by Ralf (Berlin) » Logged
Chaploo
Guest
« Reply #23 on: November 22, 2007, 04:20:23 PM »

Tolle Sache! Genau diese Funktion habe ich auch dringend gesucht.

Danke dafür!  grin

Grüße
Chaploo
Logged
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #24 on: February 28, 2008, 06:23:57 PM »

Hallo Leute,

bitte führt ein Update auf Newsletter Modul v0.16 durch - diese Version schließt eine XSS Cross Site Scripting Schwachstelle.

Gruß
Ralf
Logged
Pages: [1] 2 3 ... 5   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!