E-Mail an auswählbare Empfänger versenden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • beatem
    Contao-Nutzer
    • 19.06.2009
    • 63

    #16
    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

    Kommentar

    • beatem
      Contao-Nutzer
      • 19.06.2009
      • 63

      #17
      Also...schade leeres HTML hat auch nichts gebracht...der gleiche Fehler tritt auf.
      Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin

      Kommentar

      • beatem
        Contao-Nutzer
        • 19.06.2009
        • 63

        #18
        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

        Kommentar

        • do_while
          Contao-Urgestein
          • 15.06.2009
          • 3699

          #19
          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)
          Gruß Hagen
          Mein Contao Premium Partnerprofil
          Link zum Stammtisch Berlin

          Kommentar

          • beatem
            Contao-Nutzer
            • 19.06.2009
            • 63

            #20
            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

            Kommentar

            • beatem
              Contao-Nutzer
              • 19.06.2009
              • 63

              #21
              allow_url_fopen und allow_url_include

              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

              Kommentar

              • do_while
                Contao-Urgestein
                • 15.06.2009
                • 3699

                #22
                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:
                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;
                    }
                }
                ?>
                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:

                Code:
                Es ist eine Anfrage gestellt worden:
                
                Name: {{form::name}}
                E-Mail: {{form::email}}
                foo: {{form::foo}}
                
                an {{form::mailto}}
                
                ----
                {{env::ip}} am {{date}}
                Die Empfängerauswahl habe ich als Selectbox aufgebaut:
                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: efgempf.jpg
Ansichten: 1
Größe: 33,7 KB
ID: 914555

                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>
                Zuletzt geändert von do_while; 10.08.2009, 21:02.
                Gruß Hagen
                Mein Contao Premium Partnerprofil
                Link zum Stammtisch Berlin

                Kommentar

                • beatem
                  Contao-Nutzer
                  • 19.06.2009
                  • 63

                  #23
                  error.log

                  Hallo Hagen,
                  vielen Dank für Deine Mühen!
                  Hier ist mein Code:

                  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;
                   
                  	}
                  }
                  ?>
                  Und in der dcaconfig steht:
                  $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

                  Kommentar

                  • do_while
                    Contao-Urgestein
                    • 15.06.2009
                    • 3699

                    #24
                    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:
                    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: efgbetreff.jpg
Ansichten: 1
Größe: 8,1 KB
ID: 914556

                    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.
                    Gruß Hagen
                    Mein Contao Premium Partnerprofil
                    Link zum Stammtisch Berlin

                    Kommentar

                    • beatem
                      Contao-Nutzer
                      • 19.06.2009
                      • 63

                      #25
                      Betreff

                      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

                      Kommentar

                      • do_while
                        Contao-Urgestein
                        • 15.06.2009
                        • 3699

                        #26
                        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.
                        Gruß Hagen
                        Mein Contao Premium Partnerprofil
                        Link zum Stammtisch Berlin

                        Kommentar

                        • tom
                          Contao-Fan
                          • 16.06.2009
                          • 385

                          #27
                          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:
                          PHP-Code:
                                          $strSourceImage = imagecreatefromjpeg(TL_ROOT . '/' . $image); 
                          
                          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.

                          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

                          Kommentar

                          • beatem
                            Contao-Nutzer
                            • 19.06.2009
                            • 63

                            #28
                            Keine besonderen Bilder

                            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

                            Kommentar

                            • beatem
                              Contao-Nutzer
                              • 19.06.2009
                              • 63

                              #29
                              Feste Adresse geht auch nicht

                              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.
                              Zuletzt geändert von beatem; 11.08.2009, 21:08.
                              Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin

                              Kommentar

                              • do_while
                                Contao-Urgestein
                                • 15.06.2009
                                • 3699

                                #30
                                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).
                                Gruß Hagen
                                Mein Contao Premium Partnerprofil
                                Link zum Stammtisch Berlin

                                Kommentar

                                Lädt...