Page 1 of 1

"Falls diese Mail nicht korrekt angezeigt wird..."

PostPosted: 8:57am, Wed 16 Feb, 2011
by InV4d3r
Hi,

gibts es die Möglichkeit, diesen typischen Zusatz: "Falls diese Mail nicht korrekt angezeigt wird, klicken Sie bitte hier.." zu integrieren?

Klar, man könnte die HTML Datei einfach auf den Webserver laden und verlinken, aber wir haben ja eine Personalisierung (Nachname, Vorname, Ort) integriert, sodass doch wohl dann bei Klick auf den Link nur erscheinen würde:

Code: Select all
Sehr geehrte [VORNAME] [NACHNAME]
.

Hier soll jedoch dann das schon personalisiert erfolgen.

Hoffe Ihr wisst was ich meine.

Re: "Falls diese Mail nicht korrekt angezeigt wird..."

PostPosted: 10:46pm, Wed 16 Feb, 2011
by H2B2
Vielleicht diese lösung: [mod] View HTML Email in Browser

Re: "Falls diese Mail nicht korrekt angezeigt wird..."

PostPosted: 2:46pm, Mon 14 Oct, 2013
by heckerfaz
hat das jemand mit Version 3 laufen?

Re: "Falls diese Mail nicht korrekt angezeigt wird..."

PostPosted: 4:29pm, Sat 07 Dec, 2013
by Moonbase
Ja, mit 3.0.5. Ging relativ problemlos, erzeugt aber Zillionen von Einträgen, falls du »ClickTrack« verwendest.

Vorschlag (so hab ich’s) gemacht: die GET-Parameter »m« und »u« in /lists/view_online.php ändern zu »mid« und »uid«, dann kümmert sich phpList automatisch um die Entfernung des »&uid=blabla«-Teils der URI und du bekommst wenige, ordentlich zusammengefasste Links.

Alles hier dokumentieren wird ein bissl schwierig, weil ich auch noch andere Dinge modifiziert habe, aber hier ist ein kurzer Ausschnitt aus »view_online.php«, so wie ich’s geändert habe (BEIDE Parameter (alt & neu) müssen bei mir gehen, da ich schon Kampagnen versendet hatte vor der Änderung):

Code: Select all
// MCH Mods: make m=/mid= and u=/uid= the same, so we don't break old campaigns. If both are given, the newer one "wins".
//   preparemessage.php now uses uid= and mid=
unset($vo_mid, $vo_uid);
if ($_GET["m"]) {
    $vo_mid = $_GET["m"];
}
if ($_GET["mid"]) {
    $vo_mid = $_GET["mid"];
}
if ($_GET["u"]) {
    $vo_uid = $_GET["u"];
}
if ($_GET["uid"]) {
    $vo_uid = $_GET["uid"];
}

if ($vo_mid) {
  $messageid = Sql_Fetch_Row_Query(sprintf('select id from %s where id = %d',
    $GLOBALS["tables"]["message"],$vo_mid));
 
    
  if ($messageid[0]) {
    $userid = Sql_Fetch_Row_Query(sprintf('select id from %s where uniqid = "%s"',
      $GLOBALS["tables"]["user"],$vo_uid));
    if ($userid[0]) {
      $users = Sql_query("select id,email,uniqid,htmlemail,rssfrequency,confirmed,blacklisted from {$tables['user']} where id = $userid[0]");

Quick & dirty :-)

Was ich hier in preparemessage.php geändert habe, müsstest du wahrscheinlich in sendemaillib.php ändern:
Code: Select all
  // replace place holder [VIEWMESSAGEURL] by the specific URL to the online version  This must come before
  // of the message
  // MCH Mod: replace 'm=' by 'mid=' and 'u=' by 'uid=' to be able to use cleanUrl() and thus generate less campaign stat links
  $htmlmessage = preg_replace("/\[VIEWMESSAGEURL\]/i",$GLOBALS['scheme'].'://'.$website.$GLOBALS["pageroot"].'/view_online.php?uid='.$hash.'&mid='.$messageid,$htmlmessage,1);
  $htmlmessage = eregi_replace("\[VIEWMESSAGEURL\]",'',$htmlmessage);


Und .htaccess in /lists nicht vergessen zu ändern:
Code: Select all
<FilesMatch "(index.php|dl.php|ut.php|lt.php|download.php|connector.php|view_online.php)$">


Have fun :-)