Hallo,
ist es möglich einem Formular eine Selectbox mit mehreren Empfängernamen und Empfänger-e-Mailadressen zu übergeben, sodaß die Nachricht an den in dieser Box ausgewählten Empfänger gesendet wird?
Gruß, Felix
Hallo,
ist es möglich einem Formular eine Selectbox mit mehreren Empfängernamen und Empfänger-e-Mailadressen zu übergeben, sodaß die Nachricht an den in dieser Box ausgewählten Empfänger gesendet wird?
Gruß, Felix
Felix Pfeiffer : Neue Medien
Offizieller Contao Partner für den Raum Hannover
Infos: http://www.felixpfeiffer.com
Hallo Felix,
so etwas meine ich gab es als Anfrage schon im alten Forum.
Ich habe dazu gefunden:
https://contao.org/board/message/76509.html
https://contao.org/board/message/75769.html
https://contao.org/board/message/76218.html
Spontan und ungetestet würde ich für die Werte des Select-Menüs die E-Mail-Adressen hinterlegen.
---------------------------------
Beste Grüße planepix
Contao für Webdesigner (Website), Twitter: @contaowebdesign
weitzeldesign
Contao-Sprechstunde
Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
Contao Jahrbuch: www.contao-jahrbuch.de
Contao Agenturtag: www.contao-agenturtag.de
Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki
Schon wieder ein Update?
Glücklich sind die, die den Wert erkennen – und wertschätzen.
„Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”
Hallo Thomas und Thomas,
ich habe nun mal den Tipp mit dem Hook ausprobiert.
Einer arbeitet mit einer Checkbox (das funktioniert), der andere mit einer Selectbox. Dies geht nicht. Der Wert der Selectbox wird einfach nciht übergeben. Komischerweise wird dieser auch in den Formular-Daten nicht angezeigt. Ich habe das sowohl mit einem eigenen Widget, welches auf den normalen Select Menüs basiert, als auch mit den Standard Select Menüs ausprobiert. In beiden Fällen wir der Wert nicht angezeigt.
Vielleicht habt Ihr da noch eine Idee.PHP-Code:
class FPEfgSetRecipient extends Backend
{
public function setRecipient($arrSubmitted, $arrFiles, $intOldId, &$arrForm) // Diese Funktion geht nicht. $arrSubmitted['recipient'] ist der Wert eines Select Menüs und wird immer als leerer String angezeigt.
{
// Einschraenkung auf das Formular
if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_5') // anzupassen, Wert siehe hidden-Input im Formular
{
$arrForm['formattedMailRecipient'] = $arrSubmitted['recipient'];
}
return $arrSubmitted;
}
public function sendMailToSender($arrSubmitted, $arrFiles, $intOldId, &$arrForm) // Diese Funktion wird korrekt ausgeführt $arrSubmitted['copyToSender'] ist eine Checkbox
{
// Einschraenkung auf das Formular
if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_5' && $arrSubmitted['copyToSender'] != 1) // anzupassen, Wert siehe hidden-Input im Formular
{
$arrForm['sendConfirmationMail'] = false;
}
return $arrSubmitted;
}
}
Gruß, Felix
Felix Pfeiffer : Neue Medien
Offizieller Contao Partner für den Raum Hannover
Infos: http://www.felixpfeiffer.com
Hallo Felix,
ein (Tipp-)Fehler beim Name des Select-Menüs ('recipient', kann übrigens auch anderst benannt werden) ist ausgeschlossen?
Das Select-Menü verwendet als Options-'Werte' die E-Mail-Adressen und als Options-'Bezeichnungen' sonstwas(?)
Kann man sich (bzw. ich mir) das mal "im Betrieb" ansehen?
Schöne Grüße
Thomas
Hallo tom, hallo TL-Community,
als TL-Neuling schreibe ich mal hier, weil ich glaube, dass meine Frage hier von Thema her richtig untergebracht ist.
Ich bin dabei, eine Seite für einen Verein zu erstellen, bei der auf der Kontaktseite mehrere Mitglieder des Vereinsvorstands über Checkboxes [Feldname:Rcpt] als Empfänger der Mail ausgewählt werden können.
Nach Absenden erfolgt Weiterleitung auf eine Bestätigungsseite.
Als Mail soll versendet werden:
1. mit "(EFG) Bestätigung per E-Mail versenden" : Mail an Absender
2. mit "(EFG) Per E-Mail versenden" : Mails an ausgewählte Vorstandmitglieder
Bei Bestätigungsseite, Bestätigungsmail sowie Vorstandsmail Verwendung von Insert-Tags der Form {{form::xyz}}.
Natürlich funktioniert die Vorstandsmail nicht, wenn als Empfänger-Adresse im Abschnitt "(EFG) Per E-Mail versenden" {{form::Rcpt}} eingetragen wird, da dann ja die Bezeichnungen und nicht die Werte zurückgeliefert werden.
Mache ich das dennoch, so wird die Bestätigungsseite angezeigt, die Bestätigungsmail geht raus, nur die Mails an die selektierten Vorstandmitglieder können natürlich mangels Adressen nicht ausgeliefert werden.
Nach (hoffentlich richtigem) Einsatz der unter https://contao.org/board/message/76509.html im alten Forum beschriebenen Methode werden nun die Adressen ordnungsgemäß eingesetzt und alle Mails gehen auch raus, aber die Bestätigungsseite wird plötzlich nicht mehr angezeigt.
Nachtrag:
Nach Absenden des Formulars wird nicht auf die Bestätigungsseite weitergeleitet, in der Adressleiste des Browsers steht weiterhin die Kontktseite.
Rufe ich die Bestätigungsseite durch entsprechende Adresseingabe im Browser direkt auf, so wird diese mit den aktuellen Angaben korrekt dargestellt.
Hierzu würde ich mich über einen Tipp sehr freuen.
Erlaubt mir noch eine Zusatzfrage:
ist es möglich, im BE eine (Efg)-Bestätigungsmail zu entwerfen, den tatsächlichen Versand dieser Mail aber davon abhängig zu machen, dass der Absender z.B. eine Checkbox "Mail an mich" auswählt?
Viele Grüße
Karl
Geändert von kos (28.06.2009 um 10:36 Uhr)
Hallo Karl,
mein Verdacht wäre, dass ein kleiner Fehler in der callback-Funktion (die die "Vorstands-Mail-Empfänger" setzt/überschreibt) dazu führt, dass die weitere Verarbeitung abgebrochen wird und somit keine Weiterleitung zur "Bestätigungs-Seite" erfolgt.Nach (hoffentlich richtigem) Einsatz der unter https://contao.org/board/message/76509.html im alten Forum beschriebenen Methode werden nun die Adressen ordnungsgemäß eingesetzt und alle Mails gehen auch raus, aber die Bestätigungsseite wird plötzlich nicht mehr angezeigt.
Nachtrag:
Nach Absenden des Formulars wird nicht auf die Bestätigungsseite weitergeleitet, in der Adressleiste des Browsers steht weiterhin die Kontktseite.
Rufe ich die Bestätigungsseite durch entsprechende Adresseingabe im Browser direkt auf, so wird diese mit den aktuellen Angaben korrekt dargestellt.
Wäre es möglich, mir das Script entweder zuzusenden, oder mir einen Zugang (idealerweise zum Backend und einen ftp-Zugang) einzurichten? Dann schaue ich mir die Umsetzung mal an.
...gerne auch zwei oder mehr :-)Erlaubt mir noch eine Zusatzfrage:
das wäre analog zum Prinzip des "Überschreibens der Empfänger-Adresse" ebenfalls möglich. Eine callback-Funktion, die den Wert der Checkbox prüft, und ggf. den Versand der Bestätigungsmail deaktiviert, in etwa:ist es möglich, im BE eine (Efg)-Bestätigungsmail zu entwerfen, den tatsächlichen Versand dieser Mail aber davon abhängig zu machen, dass der Absender z.B. eine Checkbox "Mail an mich" auswählt?
Schöne GrüßePHP-Code:
public function checkConfirmationMail($arrSubmitted, $arrFiles, $intOldId, &$arrForm)
{
// Einschraenkung auf das Formular
if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_15') // anzupassen, Wert siehe hidden-Input im Formular
{
// Prüfung des übermittelten Wertes der checkbox
if ( !isset($arrSubmitted['NAME_DER_CHECKBOX']) || $arrSubmitted['NAME_DER_CHECKBOX'] != 'WERT_DER_CHECKBOX' )
{
// deaktivieren der Option 'Bestätigungs-Mail versenden'
$arrForm['sendConfirmationMail'] = false;
}
return $arrSubmitted;
}
Thomas
Hallo Tom,
vielen Dank für Deine Wochenendarbeit und die Bereitschaft, mir weiterzuhelfen.
Zum Problem: ich habe noch ein wenig herungespielt und dabei festgestellt, dass auf die Bestätigungsseite dann weitergeleitet wird, wenn ich im Bereich (EFG) Formular-Daten speichern die Option Daten im Modul "Formular-Daten" speichern NICHT benutze.
Eigentlich wäre die Speicherung für mich auch nicht so wichtig, aber dann ist ja auch, wie auch von Dir beschrieben, eine Verwendung von Insert-Tags nicht möglich und dies würde ich gerne tun.
Einen Zugang zum Backend kann ich Dir leider nicht einrichten, da ich z. Zt. noch lokal unter XAMPP die Seite zu erstellen versuche, pack' hier aber mal den angepassten Code bei.
Meine ScwpEfgFuncs.php :
Meine Datei dcaconfig.php enthält z.Zt. nur die folgende ZeilePHP-Code:
<?php
// $arrSubmitted enthalt die POST-Werte
// $arrFiles ggf. Datei-Uploads
// $intOldId die ID des bearbeiteten Datensatezs, im Falle von Frontend-Bearbeitung
// $arrForm enthaelt die 'Formular-Konfiguration'
class ScwpEfgFuncs extends Backend
{
public function setKontaktMailEmpfaenger($arrSubmitted, $arrFiles, $intOldId, &$arrForm)
{
// Einschraenkung auf das Formular
if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_3') // anzupassen, Wert siehe hidden-Input im Formular
{
// überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus Fomularfeld 'E-Mail Adresse des Konferenzleiters'
$arrForm['formattedMailRecipient'] = $arrSubmitted['Rcpt'];
}
return $arrSubmitted;
}
}
?>
Vielleicht kannst Du ja einen Fehler erkennen.PHP-Code:
$GLOBALS['TL_HOOKS']['processEfgFormData']['callback_01'] = array('ScwpEfgFuncs', 'setKontaktMailEmpfaenger');
Nochmals vielen Dank und schöne Grüße
Karl
PS: werde morgen versuchen, den neu gelieferten Code anzupassen.
Hallo,
ich bin am verzweifeln, habe genau diese Anpassungen https://contao.org/board/message/76509.html durchgeführt. Bei mir auf dem Server läuft alles problemlos. Bei meinem Kunden auf dem Server liegt die identische Spiegelung und dort erscheint nach dem Absenden des Formulars eine weiße Seite und nicht die Weiterleitungsseite. Die Mails kommen alle richtig an und die Speicherung der Formulardaten funktioniert auch. Selbst wenn ich die Speicherung der Daten abstelle erscheint diese weiße Seite.
Die Zugriffsrechte habe ich alle kontrolliert, sie stimmen mit meinen überein. Es gibt keine Fehlermeldungen ...woran kann das liegen? Über einen Tipp wäre ich sehr dankbar! Danke.
Herzliche Grüße
Beate
Geändert von beatem (06.08.2009 um 13:28 Uhr)
Hallo beatem,
weisse Seite bedeutet meist, dass die Fehlermeldungen in den TL Einstellungen abgeschaltet sind (sollen sie ja auch für Produktivbetrieb). Schalte mal die Fehlermeldungen kurz ein und dann kommen hoffentlich ein paar Klartextzeilen zur Anzeige, so dass wir Dir besser weiterhelfen können.
Hallo Hagen,
ich danke Dir!
Habe gerade nochmal die Fehleranzeige aktiviert - es wird keine Fehlermeldung ausgegeben und im Log steht auch kein Fehler:
Form "Kontakt" has been submitted by ....
Funktion: Form processFormData()
Laut des Softwareingenieurs der Firma ist auch im Server Log kein Fehler.
Herzliche Grüße
Beate
Was ich noch vergessen habe....in der Adresszeile bleibt die URL des Formulares stehen.....nur dass die Seite dann weiß ist...bei einem Reload ist das leere Formular dann wieder da.
Guten Morgen,
da die Seite in diesem Monat online gehen soll, macht mich dieser Fehler ziemlich nervös.
Ich habe jetzt, da es ja keine Fehlermeldungen gibt, einiges ausprobiert. Das Problem mit der weißen Seite tritt nicht nur bei diesem speziellen Fall auf, sondern immer dann wenn "Per E-Mail versenden (formatierter Text / HTML)" ausgewählt wurde. Bei Formularen bei denen "Per E-Mail versenden" gewählt wurde wird die Bestätigungsseite angezeigt.
Außerdem werden die Mails im Modul ecards nicht versendet.
Auf meinem Server bzw. bei meinem Provider funktionieren alle Funktionen. Ich habe extra noch einmal die Installation vom Kunden bei mir aufgspielt um zu überprüfen ob bei der Installation eventuell etwas schief gelaufen ist.
Was kann das sein???
Ich wäre über jeden Tipp sehr dankbar!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo Beate,
der Unterschied ist, dass Du einmal über EFG versendest (geht nicht) und einmal über den Standard-Formulargenerator. Grundsätzlich funktioniert aber der Versand über EFG, den nutze ich häufig. Vielleicht ist etwas in den HTML-Templates falsch, so dass hierdurch ein Fehler auftritt? Versuchs mal mit einer leeren HTML-Vorlage, evtl. kommst Du so auf das Problem.
Hallo Hagen,
aber da spricht doch eigentlich dagegen dass bei mir alles geht....mit den exakt gleichen Templates.
Gibt es Servereinstellungen, die daran schuld sein können? Laut dem Typolight-check gibt es keine Einschränkungen beim Kunden.
Einen Unterschied zu meinen Einstellungen gibt es, ich nutze den Safe Mode Hack, der Kunde nicht. Kann es daran liegen?
Danke!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo Beate,
Du hast schon Recht, es muss einen Unterschied geben, aber wenn man nicht auf die Ursache kommt, muss man mal ein paar Stellen ausprobieren, ob ein Einfluß zu erkennen ist, deshalb der Vorschlag mit dem leeren HTML.
Wenn das nichts verbessert, ist der Inhalt des HTMLs vermutlich nicht Schuld.
Der SMH kann damit eigentlich nichts zu tun haben, aber werden die Mails per PHP gesendet oder hast Du in den Einstellungen den SMTP-Versand aktiviert?
Den habe ich in Zusammenhang mit EFG noch nie aktiviert.
Hallo Hagen,
ja das Ausschlußprinzip ist eines meiner Lieblingsvarianten:-)
Die Mails werden per php versendet....
Ich habe jetzt nochmal ein neues Testformular angelegt und verschiedene Varianten durchgespielt:
Die weiße Seite erscheint bei allen Optionen außen beim Versenden von unformatierter E-Mail.
Weder die Möglichkeit "Per E-Mail versenden (formatierter Text / HTML)" noch die Möglichkeit einer Bestätigungsmail besteht: "Bestätigung per E-Mail versenden" noch das Speichern von Daten...bei all diesen Optionen wird die weiße Seite angezeigt.
"Spannend" ist es dass die ecards auch nicht gehen....und die haben ja mit efg nichts zu tun. Da bekomme ich eine Meldung dass die Email verschickt wurde und das war es dann - es kommt nie eine an.
Das mit dem leeren HTML versuche ich jetzt mal.
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Also...schade leeres HTML hat auch nichts gebracht...der gleiche Fehler tritt auf.
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo!
Wo und wie wird eigentlich genau die Weiterleitung auf eine andere Seite umgesetzt, vielleicht muss man dort nach einem Fehler suchen? Hat da jemand vielleicht eine Idee????
So wie ich es verstanden habe, wird zunächst die E-Mail verschickt, dann in der Datenbank gespeichert und am Schluß auf die Weiterleitungsseite geleitet...
Gibt es Scriptfehler, die ein Server akzeptiert und der andere nicht??? Kleinigkeiten wie ein fehlendes "; " z.B.?
Irgendwo muss ja die Ursache liegen....
Es gab ja auch Beiträge hier mit dieser "weißen Seite", haben sich diese Probleme alle lösen lassen? Leider kann ich das nicht immer erkennen.
Ich weiß einfach nicht wo ich noch suchen soll....hat noch jemand eine Idee?
Danke!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Soweit ich das auf die Schnelle sehen kann sendet sowohl der Formulargenerator, als auch der EFG über die gleiche Email-Klasse seine Mails.
Ist beim Provider vielleicht gesperrt, dass Emails mit dem mail()-Kommando einen Anhang haben?
(der HTML-Part einer E-Mail wird als Anhang versandt)
Hallo Hagen,
das würde zum Problem mit den ecards passen....bei den anderen Formularen werden ja die E-Mails verschickt und kommen auch korrekt an - nur die Weiterleitungsseite geht nicht...
Ich werde mal anfragen...
Danke!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo,
leider liegt es daran auch nicht...
Müssen allow_url_fopen und allow_url_include in der php.ini eigentlich auf on stehen damit EFG funktioniert?
Danke - herzliche Grüße
Beate
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo beatem,
ich versuche gerade Dein Problem nachzustellen, da ich diese Funktion in den nächsten Tagen sowieso benötige.
Ich habe herausgefunden, dass alle Mails im email.log von TYPOlight gespeichert sind. Im Verzeichnis /system/log kann man diese Datei mit FTP erreichen. Vielleicht findest Du hier eine Meldung, die Dir weiterhilft.
Bei meinem Kurztest werden die Mails geschickt und ich bekomme auch die Bestätigungsseite, in der auch die {{form::insertTags}} richtig funktionieren.
Ich habe folgenden HookCallback:
Mit $arrSubmitted['foo'] erzeuge ich mir sogar eine Formulareingabe im Nachhinein (im Formular angelegt als Hidden-Field), die ich dann als {{form::foo}} in der Antwort verwenden kann:PHP-Code:
<?php
class slEfgFuncs extends Backend
{
public function setMailEmpfaenger($arrSubmitted, $arrFiles, $intOldId, &$arrForm)
{
// Einschraenkung auf das Formular
if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_6') // anzupassen, Wert siehe hidden-Input im Formular
{
// überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus Fomularfeld 'Senden an'
$arrForm['formattedMailRecipient'] = $arrSubmitted['mailto'];
$arrSubmitted['foo'] = $arrSubmitted['mailto'];
}
return $arrSubmitted;
}
}
?>
Die Empfängerauswahl habe ich als Selectbox aufgebaut:Code:Es ist eine Anfrage gestellt worden: Name: {{form::name}} E-Mail: {{form::email}} foo: {{form::foo}} an {{form::mailto}} ---- {{env::ip}} am {{date}}
efgempf.jpg
EDIT:
Auch die HTML-Mail kommt korrekt an. Meine Mail-Vorlage:
HTML-Code:<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <title>meineDomain.de</title> <style> <!-- body { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 20px; padding:0; } td, p, div { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; } --> </style> </HEAD> <BODY style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 20px; padding:0; background-color:#F8F5EF"> <div style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000;"> <p>Vielen Dank, {{form::name}}, für Ihre Anfrage<br> Folgende Anfrage haben wir am {{date}} erhalten:</p><br> <table border="0" cellspacing="0" cellpadding="2"> <tr><td width="120">Name</td><td width="260">{{form::name}}</td></tr> <tr><td>E-Mail</td><td>{{form::email}}</td></tr> <tr><td>foo</td><td>{{form::foo}}</td></tr> <tr><td>Senden an</td><td>{{form::mailto}}</td></tr> </table> </BODY> </HTML>
Geändert von do_while (10.08.2009 um 20:02 Uhr)
Hallo Hagen,
vielen Dank für Deine Mühen!
Hier ist mein Code:
Und in der dcaconfig steht:Code:<?php class TestEfgFuncs extends Backend { public function setKontaktMailEmpfaenger($arrSubmitted, $arrFiles, $intOldId, &$arrForm) { // Einschraenkung auf das Formular if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_7') // anzupassen, Wert siehe hidden-Input im Formular { // überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus Fomularfeld 'E-Mail Adresse des Kontaktes' $arrForm['formattedMailRecipient'] = $arrSubmitted['Betreff']; } return $arrSubmitted; } } ?>
$GLOBALS['TL_HOOKS']['processEfgFormData'][] = array('TestEfgFuncs', 'setKontaktMailEmpfaenger');
Ich habe nun aber doch ein error.log erhalten.
PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/localhost/htdocs/system/functions.php:122) in /var/www/localhost/htdocs/system/libraries/Template.php on line 174
[04-Aug-2009 01:54:28] PHP Warning: imagecreatefromjpeg() [<a href='function.imagecreatefromjpeg'>function.image createfromjpeg</a>]: gd-jpeg: JPEG library reports unrecoverable error: in /var/www/localhost/htdocs/system/libraries/Controller.php on line 762
Davon gibt es noch ne Menge mehr...
Auf meinem Server gibt es diese Meldungen nicht....
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo beatem,
Das Eingabefeld im Formular heißt also 'Betreff' bei Dir?
Eigentlich benötigst Du für dieses dynamische Betreff-Feld keinen Callback. Trage doch einfach {{form::Betreff}} im efg unter Betreff ein, dann geht es ohne zusätzlichen Programmcode.
Ich nutze das meinst so:
efgbetreff.jpg
Die Fehlermeldungen aus dem Log würde ich nicht direkt mit Mailproblemen in Zusammenhang bringen. imagecreatefromjpeg() gehört zu einer Grafikbearbeitung mit der gdlib. Aber vielleicht, wenn Du ein Bild in der HTML-Mail hast?
Die obere Meldung "Cannot modify header information" ist ein Folgefehler einer anderen Meldung, denn HTML-Headerinformationen dürfen nur gesendet werden, wenn noch keine andere Ausgabe erfolgt ist, und da war zuvor eine Fehlermeldung, die ausgegeben wurde.
Das Betrefffeld ist bei mir ein Selectmenü...
Darf ich die Feldbezeichnung nicht verwenden??
Vor der oberen Meldung steht wieder die Meldung imagecreatefromjpeg() ....
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Das habe ich doch im Prinzip genauso, ich habe micht nur vom 'Betreff' etwas irritieren lassen.
Funktioniert denn die Mail, wenn Du eine feste Mailadresse einträgst und den Callback deaktivierst?
Probiere doch mal mit einem versteckten Feld (mein foo-Feld) dort kannst Du die Adresse (Betreff) zusätzlich zuweisen und in der Mail und Bestätigungsseite dann sehen, was da drin steht.
Hallo Beate,
hallo Hagen
die Ursache für die nicht funktionierende Weiterleitung ist vermutlich die o.g. Warning.
Es wird offenbar versucht, irgendein Bild "herunterzurechnen", was aber scheitert.
Ich würde testweise mal in der Datei system/libraries/Controller.php die Zeile 762 ändern, statt:
neu:PHP-Code:
$strSourceImage = imagecreatefromjpeg(TL_ROOT . '/' . $image);
Das @ unterdrückt zumindest die Ausgabe der Fehlermeldung der imagecreatefromjpeg und sollte damit das "Header sent"-Problem vermeiden.PHP-Code:
$strSourceImage = @imagecreatefromjpeg(TL_ROOT . '/' . $image);
Wird im Formular ein Bild hochgeladen? Oder ist im Mail-Template oder auf der Bestätigungs-Seite ein (~außergewöhnliches~) Bild enthalten?
Die Ursache für die Fehlermeldung könnte m.E. sein:
- sehr großes Bild, bei dessen Verarbeitung das memory_limit überschritten wird
- alte GD-lib
- sonstiges Problem mit Bild (Datei defekt, nicht unterstütztes Format...)
Hoffe, man kommt der Lösung näher?
Schöne Grüße
Thomas
Hallo Hagen, hallo Tom,
auf der Weiterleitungsseite sind keine Bilder, die nicht auch auf den anderen Seiten sind. Im Formular auch nicht. Ich habe die geänderte controller.php an meinen Kunden weitergeitet und bin gespannt was dann passiert.
Das memory limit ist recht großzügig beim Kunden: 128M.
Hagen - wenn ich Dein verstecktes Feld einsetze werden dann die E-Mails gleich an die unterschiedlichen E-Mail-Adressen verschickt....oder muss ich dann hinterher manuell sortieren?
Ich probiere mal eine feste Adresse einzurichten, ob es dann geht.
Bis später - ja und Danke!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Also eine feste Adresse scheint auch nicht zu gehen.
Ich habe nun auch ein aktuelles email.log bekommen:
An error occured while trying to send an e-mail: Could not instantiate mail function.
Dabei muss es sich um die Mails aus den ecards handeln, die anderen E-Mails über EFG haben ja funktioniert, hier hat "nur" die Weiterleitung nicht funktioniert.
Geändert von beatem (11.08.2009 um 20:08 Uhr)
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo beatem,
genau diese Fehlermeldung hatte ich auch, als ich an den Select-Text anstatt an den Select-Wert (die E-Mail-Adresse) gesendet habe.
Da kann ich nur anbieten, mal selbst hineinzuschauen. Dafür brauche ich aber einen Backendzugang und ggf. FTP-Zugang zur Installation per PM.
Vielleicht können wir das am Telefon mal gemeinsam durchgehen (Berlin-Konradshöhe <--> Berlin-Hermsdorf), evtl. Mi ab 18 Uhr? (Kontaktdaten findest Du in meinem Profil).
Hallo Hagen,
das ist sozusagen um die Ecke - ich melde mich morgen - danke für das nette Angebot!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo Thomas,
also der Austausch von
$strSourceImage = imagecreatefromjpeg(TL_ROOT . '/' . $image); durch
$strSourceImage = @imagecreatefromjpeg(TL_ROOT . '/' . $image);
führt sowohl bei meinem Server als auch beim Server des Kunden zum Fehler 500..
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hagen hatte die großartige Idee testweise meinen Mailserver beim Kunden einzutragen - und siehe da - die ecards funktionieren plötzlich!
Die Formulare, bei denen EFG verwendet werden, funktionieren dadurch auch - nur die Weiterleitung geht trotzdem nicht. Gibt es da auch noch einen Trick?
Danke Hagen - vielleicht kann ich mich einmal für diesen Tipp revanchieren!
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo Beate,
ich habe es mal ausprobiert:
Beim Kontaktformular und bei den eCards geht die Weiterleitung (auf der Originalseite).
Geändert von do_while (13.08.2009 um 16:50 Uhr)
Hallo Hagen,
ja aber ich habe die Mails umgestellt, d.h. man bekommt eine Bestätigung per unformatierter Mail...
Bei der ecard geht die Weiterleitung.
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Hallo Beate,
habe ich das richtig verstanden?
- auf Deinem Server gab es keine Probleme/Fehlermeldung bzgl. imagecreate...,
- es funktionierte der Mail-Versand, inkl. Weiterleitung
Nachdem Du (auf Deinem Server) nichts anderes geändert hast, als lediglich das '@' in o.g. Zeile zu ergänzen, erhältst Du plötzlich einen Fehler 500?
Hallo Beate,
Funktioniert die Weiterleitung nur dann nicht, wenn per Hook bzw. callback-Funktion die 'JumpTo'-Seite "veränderst"?
Funktioniert denn die ganz "normale" Weiterleitung zur im Formulargenerator angegeben "Weiterleiten zu"-Seite, wenn Du den Hook deaktivierst (die Zeile in der dcaconfig.php entweder löschst oder auskommentierst)?
Hallo tom,
wir hatten herausgefunden, dass keine Mails geschickt werden können, wenn der Absender nicht in der Domain ist. Ich kann nicht sagen, was dann die PHP-mail-Funktion macht, wenn das Senden einen Fehler verursacht, evtl ist das aber der Grund, warum die Weiterleitungsseite nicht erreicht wurde. Kann man vielleicht auf Servern auch verhindern, dass eine HTML-Mail verschickt wird? Der HTML-Part ist ja schließlich als Anhang der Mail zu sehen.
Wir haben dann in TYPOlight die Mail über SMTP (mit Auth) eingerichtet und einen fremden Mailserver benutzt, dann hat es sofort funktioniert.
Wie jetzt der letzte Stand ist, kann ich aber nicht sagen.
--
Es war nicht heraus zu bekommen, wo beim Versenden überhaupt diese GD-Lib-Funktion imagecreatefromjpeg benutzt wird. Ich habe auch nicht verstanden, warum ein @ einen Fehler 500 erzeugt, wo es doch eigentlich zum Unterdrücken von Fehlermeldungen dient.
Da aber kein direkter Serverzugriff möglich ist, kann man es nicht schnell mal ausprobieren, es wird wohl ein Rätsel bleiben.
Hallo Thomas,
auf meinem Server funktioniert ja alles, nur beim Kunden nicht und das spricht doch eigentlich dagegen, oder?
Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)