Zum Inhalt springen

powermail - mehrere Empfänger

Erstellt am 27. September 2008 · 13 Antworten · letzte Antwort am 10. Februar 2010

Tags: Powermail, tt_address, Frage

tobilot ·

Hallo
Und schon hab ich das Nächste Ding, was ich nicht hinbekomme.

Ich möchte gerne per Checkbox mehrere Empfänger zur Auswahl als Mailempfänger anbieten.
Ich sags gleich vorneweg, es ist mir ausgesprochen logisch, wie das funktioniert, nicht zuletzt auch wegen des HowTos, das Alex hier im Forum veröffentlicht hat:

#76461

Ich habe mich echt an alles gehalten, so wie es dort beschrieben ist, aber bei mir funktioniert es nicht.
Ich verwende tt_address als Datenquelle, ich habe zwei Datensätze dort angelegt (die Datensätze speichere ich in einem eigenen SysOrdner).
Damit ihr gleich sehen könnt, was ich wo eingetragen habe, zeige ich das am besten mal als Bild.

Nachdem die tt_address Datensätze angelegt waren (und die uid's notiert), habe ich ein Feld angelegt mit Typ 'Checkbox' und darin folgende Angaben gemacht:

Bild: tobilot.de/…/felder.jpg

Dann habe ich im Tab "Empfänger" folgende Einträge gemacht:

Bild: tobilot.de/…/receiver_select.jpg

sieht doch so aus wie im HowTo oder? ###uid11### ist der Inhalt aus der Betreffzeile (just for info!)

Wenn ich den Datensatz kontrolliere, dann fehlt das Empfängerfeld - kein Eintrag darin o.O
Stimmt denn die MySQL-Abfrage?

Im echten Formular habe ich dann natürlich die echten Namen statt "receiver1" und so.

Any hints? Vielleicht seh ich den sprichwörtlichen Wald vor Bäumen nicht.

Danke

PS: Wenn ich folgendes SQL-Statement eintrage, dann funktioniert alles so wie es soll: SELECT email FROM tt_address where uid = 1
Es muss also an der Übergabe der uid liegen, welche ja durch den Marker ###15### definiert werden soll. Leider bin ich kein MySQL-Freak, ich habe schon versucht, hier etwas zu ergoogeln, aber ohne Erfolg. Hab nix gefunden #angry#

Hier meine Daten:
Typo3 4.2.1
php 5.2.6
mysql 5.0.45
Server: Apache
powermail 1.3.13

tobilot ·

Echt beeindruckend, wie schnell du oft antwortest.
Leider führt dein Vorschlag nicht zum Erfolg. Ist aber eh peinlich für mich, weil ich ja behauptet hatte, dass alles so ist wie im HowTo, aber genau das hatte ich nicht so.
Blame on me! :o

Wie gesagt, ###UID15### statt ###15### führt trotzdem nicht zum Erfolg.

Ich hatte zwischenzeitlich mal den Operator BETWEEN getestet und mit diesem funktioniert es.

SELECT email FROM tt_address where uid BEETWEEN 1 AND 4

So viele Empfänger sollens ja auch garnicht werden. Also, damit werde ich leben können, auch wenn ich finde, dass das mit dem Marker einfach die elegantere Variante ist. Ganz Klar!

tobilot ·

Hmm, mit php hab ichs nun nicht so wirklich. Ich habe aber jemand an der Hand, mit dem könnte ich das dann mal machen.
Falls ich dann neue Erkenntnisse haben sollte, melde ich mich an dieser Stelle wieder.
Danke

tobilot ·

Hi Alex
Kann es sein, dass es irgendwie an Escapes liegt, denn wenn ich die uid in Einfache Anführungszeichen setze, dann wird eine Empfängeradresse aus tt_address ausgelesen und die Mail an diese verschickt, allerdings nur die erste Adresse, nicht beide o.O

Bild: tobilot.de/…/sql_query_korrekt.jpg

Hast du vielleicht noch eine Idee, brauche ich evtl. andere escapes?

einpraegsam.​net ·
tobilot schrieb

Hast du vielleicht noch eine Idee, brauche ich evtl. andere escapes?

Bei Zahlen braucht man keine Anführungszeigen oder Hochkommas - müsste ich mir im Code anschauen...

tobilot ·

Naja, aber nur so gehts. Jedenfalls ist eine(!) Adresse auswählbar.

Wie siehts denn mit mit zwei Emfängern aus, geht das überhaupt mit dem Ansatz, den ich hier verfolge, oder sollte ich darauf verzichten und auch nur die Auswahl von einem Feld zulassen, nicht mehreren gleichzeitig.

tobilot ·

Alles klar, eine eindeutige Auswahl ohne Mehrfachempfänger ist mir im Moment auch wichtger als mögliche mehrere Empfänger.
Ich verschieb das mal gedanklich ein wenig nach hinten. Vielleicht findest du ja auch noch eine Lösung.

DarkNemesis ·

Vielleicht eine interessante Anmerkung an alle die das lesen und sich Frage wo das SQL Feld sein soll.

Seit der Version 1.5.3 existiert dieses nicht mehr. Die Konfig. ist nur noch über TS möglich.

Meine Frage wäre nun wie die Lösung in TS zu dem Beispiel aus Post 1 aussehen würde?

tobilot ·

z.B. so:

//Set the SQL Query for email fields in tt_address
plugin.tx_powermail_pi1.email.recipient_mail {
	email_query = TEXT
	email_query.value = SELECT email FROM tt_address WHERE uid IN(###UID4###)
}

Dabei ist die UID die UID des Auswahlfeldes im Formular, wo die Emailadressen ausgewählt werden sollen.
Bitte auch beachten: Ich nehme die Emailadressen aus tt_address !

DarkNemesis ·

Danke hab in Anlehnung an dein TS gelöst.

plugin.tx_powermail_pi1.email.recipient_mail {
        email_query = TEXT
        email_query.value = SELECT email FROM fe_users WHERE uid IN(###UID1###)
}