Ergebnis 1 bis 8 von 8

Thema: Fatal Error nach absenden eines Formulares mit Email-Bestätigung

  1. #1
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard Fatal Error nach absenden eines Formulares mit Email-Bestätigung

    Hallo!

    Ich habe schon länger ein Problem mit einer Weiterleitung aus einem Formular heraus. Es handelt sich hier um ein Gästebuch, welches mit EFG erstellt wurde.

    Code:
    Fatal error: Uncaught exception Swift_RfcComplianceException  with message Address in mailbox given [DC The Stabs ] does not comply with RFC 2822, 3.6.2.  thrown in /www/htdocs/w00ba13c/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php  on line 309
    
    #0 /www/htdocs/w00ba13c/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(239): Swift_Mime_Headers_MailboxHeader->_assertValidAddress('DC The Stabs normalizeMailboxes(Array)
    #2 /www/htdocs/w00ba13c/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(61): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array)
    #3 /www/htdocs/w00ba13c/plugins/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php(571): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array)
    #4 /www/htdocs/w00ba13c/plugins/swiftmailer/classes/Swift/Mime/SimpleMessage.php(199): Swift_Mime_SimpleMimeEntity->_setHeaderFieldModel('From', Array)
    #5 /www/htdocs/w00ba13c/system/libraries/Email.php(420): Swift_Mime_SimpleMessage->setFrom('DC The Stabs sendTo('tester@tester.d...')
    #7 /www/htdocs/w00ba13c/system/modules/frontend/Form.php(439): FormAuto->processFormData(Array, Array, NULL)
    #8 /www/htdocs/w00ba13c/system/modules/frontend/Form.php(206): Form->processFormData(Array)
    #9 /www/htdocs/w00ba13c/system/modules/efg/ExtendedForm.php(158): Form->compile()
    #10 /www/htdocs/w00ba13c/system/modules/frontend/Hybrid.php(150): ExtendedForm->compile()
    #11 /www/htdocs/w00ba13c/system/modules/frontend/Form.php(72): Hybrid->generate()
    #12 /www/htdocs/w00ba13c/system/libraries/Controller.php(364): Form->generate()
    #13 /www/htdocs/w00ba13c/system/modules/frontend/ModuleArticle.php(179): Controller->getContentElement('24')
    #14 /www/htdocs/w00ba13c/system/modules/frontend/Module.php(127): ModuleArticle->compile()
    #15 /www/htdocs/w00ba13c/system/modules/frontend/ModuleArticle.php(69): Module->generate()
    #16 /www/htdocs/w00ba13c/system/libraries/Controller.php(297): ModuleArticle->generate(false)
    #17 /www/htdocs/w00ba13c/system/libraries/Controller.php(184): Controller->getArticle('11', false, false, 'main')
    #18 /www/htdocs/w00ba13c/system/modules/frontend/PageRegular.php(68): Controller->getFrontendModule('0', 'main')
    #19 /www/htdocs/w00ba13c/index.php(188): PageRegular->generate(Object(DB_Mysql_Result))
    #20 /www/htdocs/w00ba13c/index.php(311): Index->run()
    #21 {main}
    Sowohl im SMTP als auch im normalen Betrieb folgt diese Fehlermeldung.
    Interessanter Weise werden die Bestätigungsmails versendet und kommen mit korrekten Daten an. Auch der Eintrag erfolgt korrekt.

    Leider bricht das Skript mit dieser Meldung vor einer Weiterleitung ab.

    Wenn ich die Fehlermeldung richtig interpretiere, scheint der Fehler an einer nicht auflösbaren Mail-Adresse zu liegen. Ich habe schon sämtliche Adressen geändert und komme an diesem Punkt einfach nicht weiter.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  2. #2
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Das ist ja das Interessante daran.

    Ich habe keine weiteren Adressen, als jene die im System stehen vergeben.
    Also auch keine Erweiterungen definiert oder Sonstiges.
    Lediglich die im Gästebuch, bei einem neuen Eintrag, einzutragene Email-Adresse wird für eine Bestätigung genommen, zusätzlich bekommt der Admin einen Hinweis per Mail.

    Auch wird die Email-Funktion von EFG verwendet, ohne dabei auf vordefinierte Strukturen zu zu greifen (confirm_mail.html tec.). Es erfolgt lediglich eine Zusammansetzung aus Inhalten des Gästebucheintrages und einem kleinen Text.

    Das ungeschickte daran, beide Emails gehen raus, wie sie sollen, aber dennoch erfolgt die Meldung von oben. Unter 2.7.6 funktionierte das auch noch, erst nach dem Update trat dieser Fehler auf.

    Ich werde heute Abend aber nochmal drüber schauen, ob sich nicht doch irgendwo ein Fehler eingeschlichen hat. Ich wüßte aber langsam nicht mehr wo.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  3. #3
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    So, ich habe nochmal alles nachgesehen!

    Ich habe jetzt mal eine confirmation_mail.html angegeben:
    Code:
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <title>DC The Stabs</title>
    <style>
    <!--
     body { font-family: Arial, Helvetica; font-size: 11pt; color: #000000; margin: 0; 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: 0; padding:0; background-color:#F8F5EF">
    <div style="font-family: Arial, Helvetica; font-size: 11pt; color: #000000;">
    <p>Hallo {{form::name}},<br><br>
    Der DC The Stabs bedankt sich für Deinen Gästebucheintrag am {{date}}!<br><br>
    
    Folgende Einträge hast Du bei uns hinterlassen:<br><br>
    Dein Name: {{form::name}}<br>
    Deine Email: {{form::email}}<br>
    Deine Webseite: {{form::website}}<br><br>
    Deine Nachricht: {{form::massage}}<br><br>
    
    Deine IP-Adresse wurde aus rechtlichen Gründen gespeichert!<br><br>
    
    Schöne Grüsse und Allzeit *GOOD DARTS*<br><br>
    ... DC The Stabs
    </p>
    </BODY>
    </HTML>
    Darin erkenne ich keinen Fehler.

    Screenshots von den Formular-Einstellungen im BE:

    Hinweismail für Admin

    Bestätigungsmail für User

    Grundsätzlich sehe ich da nichts Falsches.
    Die Adressen sind korrekt und SMTP ist erstmal deaktivert.

    Ich sehe aber gerade, dass die Email nicht aus dem Formular, für die Bestätigung verwendet wird, dafür die Addi des Admins.
    Es sollte aber so sein, dass die angegebene Email genommen wird. Die Formularfelder sind korrekt angegeben.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  4. #4
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Hmmm, keine Ahnung warum es jetzt funktioniert!

    Ich habe jetzt das Gästebuch um eine Bestätigungsseite erweitert und einfach nur das erste Formular kopiert und mit sessionform gefüllt. Die Email-Bestätigung funktioniert jetzt ohne das das Script abbricht. Die Daten und Einstellungen für den Emailversand habe ich nicht geändert. *kopfkratz
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  5. #5
    Contao-Nutzer
    Registriert seit
    12.05.2010.
    Beiträge
    20

    Standard Address in mailbox given [] does not comply with RFC 2822

    Problem:

    Formulare, die ich im Formulargenerator (TYPOlight Open Source CMS 2.8.3) erstellt habe, ergeben nach dem Absenden den Fehler:
    Code:
    [20-May-2010 16:59:00] PHP Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [] does not comply with RFC 2822, 3.6.2.' thrown in /home/vhosts/******(u.s.w.)*********/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php on line 309

    Ursache:

    Die Funktion _assertValidAddress bemängelt Leerstrings als Absenderadresse.


    Workaround:

    In der Datei ......plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php setze ich in leere eMail-Adressen einfach irgendeine gültige ein:

    Code:
    protected function normalizeMailboxes(array $mailboxes)
      {
        $actualMailboxes = array();
        
        foreach ($mailboxes as $key => $value)
        {
          if (is_string($key)) //key is email addr
          {
            $address = $key;
            $name = $value;
          }
          else
          {
            $address = $value;
            $name = null;
          }
          
          // WORKAROUND BEGIN
          // echo("TEST(".$address.") (".$name.") ");
          if($address==""){$address="workaround@leere_adresse.de";}
          // WORKAROUND END
    
          $this->_assertValidAddress($address);
          $actualMailboxes[$address] = $name;
        }
        
        return $actualMailboxes;
      }
    Frage:

    Gibt es eine Lösung ohne diesen Workaround? D.h.:
    Wo im Formulargenerator oder den Systemeinstellungen kann ich denn die Absenderadresse der eMail festlegen, die vom Formular aus verschickt wird?
    Geändert von Timo Beil (20.05.2010 um 23:14 Uhr)

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Timo Beil Beitrag anzeigen
    Wo im Formulargenerator oder den Systemeinstellungen kann ich denn die Absenderadresse der eMail festlegen, die vom Formular aus verschickt wird?
    Es gibt in TYPOlight im Prinzip zwei relevante Eingabefelder dafür:
    • einerseits in den "Einstellungen" das Eingabefeld "E-Mail-Adresse des Systemadministrators" und
    • andererseits in der Seitenstruktur im "Startpunkt einer Webseite" im Feld "E-Mail-Adresse des Webseiten-Administrators"

    Speziell letzteres würde ich mal genauer anschauen, ob dort eine (korrekte) E-Mail-Adresse hinterlegt ist.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Contao-Nutzer
    Registriert seit
    12.05.2010.
    Beiträge
    20

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    • andererseits in der Seitenstruktur im "Startpunkt einer Webseite" im Feld "E-Mail-Adresse des Webseiten-Administrators"

    Speziell letzteres würde ich mal genauer anschauen, ob dort eine (korrekte) E-Mail-Adresse hinterlegt ist.
    Danke, das ist die Lösung; dort hatte ich noch nichts eingetragen!

  8. #8
    Contao-Nutzer
    Registriert seit
    04.02.2010.
    Beiträge
    84

    Standard

    Bei mir kam ebenfalls eine Fehlermeldung mit
    Code:
    -fmeineemail...
    Bei mir hat das Umstellen der Übertragunsmethode von POST auf GET zum Erfolg geführt. Hoster ist one.com

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Fatal Error beim Einspielen eines Templates
    Von avogt im Forum Installation / Update
    Antworten: 5
    Letzter Beitrag: 31.01.2011, 08:55
  2. Einbinden eines Formulares mit Funktionalität
    Von Grumbler85 im Forum Entwickler-Fragen
    Antworten: 0
    Letzter Beitrag: 25.03.2010, 13:30
  3. Fatal Error nach Abschicken eines Formulars
    Von Typodry im Forum Formulare
    Antworten: 2
    Letzter Beitrag: 03.03.2010, 12:30
  4. Fatal error: Could not load class Email
    Von MadMax64 im Forum Sonstige Erweiterungen
    Antworten: 12
    Letzter Beitrag: 05.02.2010, 15:56
  5. Antworten: 3
    Letzter Beitrag: 28.06.2009, 10:44

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •