Platzhalter in E-Mailverlinkung

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Platzhalter in E-Mailverlinkung

Beitrag von mirko »

Mir ist schon klar, wozu du das brauchst. Aber ich kann die Umwandlung nicht machen, denn brauche ich irgendwann mal selbst Platzhalter, die urlencoded sind, dann würde ich mir diese selbst wieder kaputt machen. z.B. beim SuperMailer habe ich genau so etwas erst gebraucht. Und wenn ich die Umwandlung machen würde, dann bedeutet dies auch eine offizielle Unterstützung der Platzhalter in einer mailto: Anweisung, das tue ich natürlich nicht, denn dazu müssten die Werte nach der Ersetzung auch urlencoded eingesetzt werden.
the_scrat
Beiträge: 143
Registriert: 07.09.2010, 16:20

Re: Platzhalter in E-Mailverlinkung

Beitrag von the_scrat »

Ich versteh leider nicht ganz was du damit meinst. Der Platzhalter wird doch nur durch einen Namen ersetzt. Dieser sollte in der Datenbank sauber hinterlegt sein. Des weiteren könntest du in einer weiteren Prüfroutinge (siehe foreach oben) den Platzhalter ja wieder urlencoden (wenn du das für sinnvoll hälst).

Ich hingegen finde ich weiterhin für nützlich, wenn man das subject= als auch body= mit Platzhaltern füllen kann. Vorallem für Antworten, da möchte ich doch eine Kundennummer in der Antwortmail haben etc. Und die bekomm ich eben nur rein, wenn das pro E-Mail flexibel ist.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Platzhalter in E-Mailverlinkung

Beitrag von mirko »

Ich weiss, dass ich das ersetzen könnte aber will ich lieber nicht machen, vielleicht braucht man irgendwann mal die Angaben urlencoded, dann würde sich das überschneiden. Man soll auch keine Platzhalter im mailto:-Link verwenden, weil es nicht urlencoded übergeben wird.
the_scrat
Beiträge: 143
Registriert: 07.09.2010, 16:20

Re: Platzhalter in E-Mailverlinkung

Beitrag von the_scrat »

Ok, dann hab ich wohl wirklich was falsch gemacht. Danke fürs Testen. Sowas passiert ja natürlich immer nur, wenn man echt viel gemacht hat und viel Arbeit reingesteckt hat :-) Normal kopier ich mir bei solchen Sachen immer zuvor noch kurz den Quelltext in die Zwischenablage, sollte mal was sein, aber in diesem Fall war es recht dringend und daher sogar doppelt Ärgerlich, dass ich dann nochmal von voren anfangen musste.

Wegen den kodierten HTML befehlen. Könntest du da nicht nach den Standardvariablen prüfen lassen? Klar weiß ich, dass ich die Angaben im Quelltext ändern kann, so hatte ich es auch letztens gemacht. Aber wäre es nicht schön, wenn man die Platzhalter (trotz der automatischen Technik von dem Editior) ohne Quellcode nutzen könnte.
Du müsstest ja lediglich die eigenen Platzhalter prüfen

Code: Alles auswählen

$arrPlatzhalter = array('u_Email', 'u_FirstName', 'u_LastName', .....);
foreach($arrPlatzhalter => $var):
   $ckEditorText = str_replace('%5B' . $var . '%5D' , '[' . $var . ']' , $ckEditorText);
endforeach;
Damit wäre das Problem behoben. Denn ob der Platzhalter nun kodiert ist oder nicht, ist mir ja beim Editor egal. Hauptsache die Endverarbeitung beim Wegmailen stimmt.
Wenn du dieses foreach generell vor die Ersetzfunktion der Platzhalter einbaust, müsste es gehen. Sicherheitsrisiken hat es demnach auch keine, da nur die internen Platzhalter geprüft werden bzw. die, die man oben im $arrPlatzhalter angibt.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Platzhalter in E-Mailverlinkung

Beitrag von mirko »

the_scrat hat geschrieben:
Nein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.
Das mag ja sein, dass das subjet= urlencoded sein muss, ändert ja trotzdem nichts daran, dass die Variablen umgewandelt werden. Schließlich sende ich ja nicht
subject=[u_FirstName] [u_FirstLastname]
Sondern beim Versenden sollte dann natürlich drin stehen subject=Max%20Mustermann. Daher wäre es meiner Meinung sinnvoll, wenn du auf Platzhalter prüfen könntest ggf. mit den kodierten HTML befehlen und diese dann ersetzen lässt.
Ändern kann ich es nicht. Die mailto: Funktion ist etwas CK-Editor internes, dabei werden aus dem Dialog die Inhalte urlencoded in den HTML-Code übernommen. Du kannst im Link-Dialog alles eingeben und danach im Quelltext wieder die Angaben in [ und ] für die Platzhalter ändern.
Das mit dem HTML abspeichern prüfe ich nochmal, ich bin mir aber sicher, dass der Code keinen Fehler hatte, wie soll man auch bei einem HTML Code einen Fehler machen? In einem Editor? Der Fehler war, dass die Betreffzeile leer war, das besagte auch die Fehlermeldung. Ist ja auch ok, aber zumindest wäre es schön gewesen, wenn der Editortext vorher gespeichert worden wäre.
Habe ich auch gerade nochmals getestet, der Inhalt im Editor bleibt erhalten, wenn man den E-Mail-Betreff einfach weglässt. Das muss ja auch, denn es wird ein normales POST beim Speichern gemacht, danach per PHP geprüft, ob auch alle Pflichtfelder ausgefüllt sind. Fehlt ein Pflichtfeld, werden einfach alle Felder wieder gefüllt.
the_scrat
Beiträge: 143
Registriert: 07.09.2010, 16:20

Re: Platzhalter in E-Mailverlinkung

Beitrag von the_scrat »

Nein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.
Das mag ja sein, dass das subjet= urlencoded sein muss, ändert ja trotzdem nichts daran, dass die Variablen umgewandelt werden. Schließlich sende ich ja nicht
subject=[u_FirstName] [u_FirstLastname]
Sondern beim Versenden sollte dann natürlich drin stehen subject=Max%20Mustermann. Daher wäre es meiner Meinung sinnvoll, wenn du auf Platzhalter prüfen könntest ggf. mit den kodierten HTML befehlen und diese dann ersetzen lässt.


Das mit dem HTML abspeichern prüfe ich nochmal, ich bin mir aber sicher, dass der Code keinen Fehler hatte, wie soll man auch bei einem HTML Code einen Fehler machen? In einem Editor? Der Fehler war, dass die Betreffzeile leer war, das besagte auch die Fehlermeldung. Ist ja auch ok, aber zumindest wäre es schön gewesen, wenn der Editortext vorher gespeichert worden wäre.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Platzhalter in E-Mailverlinkung

Beitrag von mirko »

the_scrat hat geschrieben:Hallo Mirko,

im Fenster für Link editieren (für E-Mail) gibt es ja unten die Platzhalter. Diese lassen sich jedoch nicht in Verbindung mit dem Link-Typ "E-Mail" nutzen, obwohl es geht.
Trage ich in dem Fenster die Platzhalter manuell ein z.B. im Betreff "... von [u_FirstName] [u_LastName]" bekomme im Quelltext die Klammern [] nur umgewandelt dargestellt (%5Bu_FirstName%5D%20%5Bu_LastName%5D).
Wenn ich direkt im Quelltext subject=... von [u_FirstName] [u_FirstName]" eintrage, gehts wunderbar und wird auch korrekt umgewandelt.

Könntest du bitte diesen Fehler beseitigen, damit man die Platzhalter auch in diesem Typ nutzen kann (Betreffzeile und Nachrichtentext).
Nein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.
Ach und weil ich grad da bin :) noch ein echt doofer Fehler den ich gefunden habe:
Wenn man bei E-Mail/Inhalt seine E-Mailinhalt einpflegt, was je nach Umfang und Design recht lang dauern kann und dann VERGISST einen Betreff einzutragen wäre es vielleicht hilfreich, wenn diese Sache per Javascript geprüft wird bzw. der E-Mailinhalt ERSTMAL gespeichert wird und DANN die Fehlermeldung ausgegeben wird. Mir ist gestern passiert, dass ich den Betreff vergessen habe und beim Speichern kam nur die Meldung, ich hätte keinen Betreff eingegeben. Also ging ich einen Schritt zurück und der komplette Inhalt war weg. Weiß nicht ob das wirklich Benutzerfreundlich ist!
Das darf aber nicht so sein, dann war ein Fehler in deinem HTML-Code, den darf man so auch nicht versenden lassen.
the_scrat
Beiträge: 143
Registriert: 07.09.2010, 16:20

Platzhalter in E-Mailverlinkung

Beitrag von the_scrat »

Hallo Mirko,

im Fenster für Link editieren (für E-Mail) gibt es ja unten die Platzhalter. Diese lassen sich jedoch nicht in Verbindung mit dem Link-Typ "E-Mail" nutzen, obwohl es geht.
Trage ich in dem Fenster die Platzhalter manuell ein z.B. im Betreff "... von [u_FirstName] [u_LastName]" bekomme im Quelltext die Klammern [] nur umgewandelt dargestellt (%5Bu_FirstName%5D%20%5Bu_LastName%5D).
Wenn ich direkt im Quelltext subject=... von [u_FirstName] [u_FirstName]" eintrage, gehts wunderbar und wird auch korrekt umgewandelt.

Könntest du bitte diesen Fehler beseitigen, damit man die Platzhalter auch in diesem Typ nutzen kann (Betreffzeile und Nachrichtentext).

Ach und weil ich grad da bin :) noch ein echt doofer Fehler den ich gefunden habe:
Wenn man bei E-Mail/Inhalt seine E-Mailinhalt einpflegt, was je nach Umfang und Design recht lang dauern kann und dann VERGISST einen Betreff einzutragen wäre es vielleicht hilfreich, wenn diese Sache per Javascript geprüft wird bzw. der E-Mailinhalt ERSTMAL gespeichert wird und DANN die Fehlermeldung ausgegeben wird. Mir ist gestern passiert, dass ich den Betreff vergessen habe und beim Speichern kam nur die Meldung, ich hätte keinen Betreff eingegeben. Also ging ich einen Schritt zurück und der komplette Inhalt war weg. Weiß nicht ob das wirklich Benutzerfreundlich ist!
Antworten