Seite 1 von 2

kein mailversand mit w3concepts.form.v1

Verfasst: Mi 18. Aug 2004, 13:17
von barrybest
hola an die gruppe

habe mich eigentlich ganz gut in contenido eingearbeitet, aber hier ist ein problem welches mir schleierhaft bleibt.

benutze das modul w3concepts.form.v1 um formulare zu erstellen.
klappt alles supi nur leider werden keine emails versendet.

benutze sendmail auf dem server. das funzt.
habe auch ein newsletter modul eingebaut und das funzt ohne Probleme.

jemand eine Idee woran es liegen kann?

mfg
barrybest

Verfasst: Mi 18. Aug 2004, 14:04
von kummer
ich hoffe, ich darf das fragen: aber hast du deine email-adresse angegeben im input-bereich?

hast du schon im error-log nachgesehen?

jep

Verfasst: Mi 18. Aug 2004, 14:15
von barrybest
also emailadresse ist angegeben

im errorlog habe ich folgendes gefunden
[18-Aug-2004 15:10:50] PHP Warning: fopen(../content/css/format.css): failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/www/web1/html/contenido/includes/include.tplcfg_edit_form.php(390) : eval()'d code on line 119


hope this helps

gruss
barrybest

Verfasst: Mi 18. Aug 2004, 14:26
von kummer
das ist seltsam. ich würde folgendes vorschlagen:

(1) im output-script nach der funktion mail() suchen.

(2) eine zeile oberhalb ein var_dump() aller variablen machen, die der mail-funktion übergeben werden.

(3) dann solltest du die ausgabe an den schirm erhalten.

(4) diese mal hier posten. dann sehen wir, ob allenfalls nicht ausreichend informationen an die mail-funktion übergeben werden.

Verfasst: Mi 18. Aug 2004, 14:50
von barrybest
danke erstmal für deine wirklich schnelle hilfe

zu 1.

die "function mail ()" ist nicht vorhanden im output bereich.

gruss
barry best

Verfasst: Mi 18. Aug 2004, 15:00
von kummer
doch, du findest sie ganz am anfang der klasse:

Code: Alles auswählen

function w3form() { 
   } 

   // PRIVATE 
   function sendEmail() { 
      $this->aufdroeseln($this->suppress('sent')); 
      $this->generateEmailMessage(); 
      mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion()); 
   } 

vardump

Verfasst: Mi 18. Aug 2004, 15:31
von barrybest
ok gefunden.

der var_dump sollte so aussehen????

var_dump($this->email['adresses'],$this->email['subject'],$this->email['message'],$this->email['from']['name'], $this->email['from']['email'])

sorry aber meine proggie kenntniss sind eher nicht vorhanden.

gruss
barry best

Verfasst: Do 19. Aug 2004, 23:13
von barrybest
das problem hat sich in Luft aufgelöst.

ich weiss zwar nicht woran es gelegen hat aber egal.

jetzt funzt es´.

danke trotzdem

mfg
Barrybest

Verfasst: Fr 20. Aug 2004, 07:25
von Admin51
kummer hat geschrieben:das ist seltsam. ich würde folgendes vorschlagen:

(1) im output-script nach der funktion mail() suchen.

(2) eine zeile oberhalb ein var_dump() aller variablen machen, die der mail-funktion übergeben werden.

(3) dann solltest du die ausgabe an den schirm erhalten.

(4) diese mal hier posten. dann sehen wir, ob allenfalls nicht ausreichend informationen an die mail-funktion übergeben werden.

Hallo, ich habe so ein ähnliches Problem.
Es wird zwar eine Mail rausgeschickt, aber ohne Inhalt.
Leider ist mein PHP auch nicht so berauschend und kann das nicht so nachvollziehen was eigentlich nicht funktioniert.
Habe mal ein var_dump gemacht.
Meldung:
string(18) "webmaster@b-w-z.de" string(16) "Kontakt-Formular" NULL string(89) "From: Kontakt B-W-Z Reply-To: webmaster@b-w-z.de X-Mailer: PHP/4.1.2"

Das Formular von mir:

Code: Alles auswählen

<div style="text-align: center;">
  <font size="3">
<span style="font-weight: bold;">Kontaktformular</span>
</font><br />(Bitte die Felder mit * unbedingt ausfüllen)<br /><br />
<div style="text-align: left;">Name* , Vorname*  ###name:hname; type:text ; valid:text; mandatory:true; size:20### /
###name:vorname; type:text ; valid:text; mandatory:true; size:20###<br />
<br />Ihre e-Mailadresse*:      ###name:mail; type:text ; valid:email; mandatory:true; size:45###<br />
<br />Betreff:           ###name:betreff; type:text ; size:60###<br />
<br />Ihre Mitteilung/ Anfrage <br />    ###name:mitteilung; type:textarea ; cols:50; rows:6###<br /><br /><br /></div></div>


Im Modul hatte ich den Senden-Button eingebaut.

Code: Alles auswählen

 // PRIVATE
   function formularAusgabe($sent = false) {
      echo '<form action="" method="POST">';
      echo '<input type="hidden" name="sent" value="true" />';
      $formular = $this->form['form'];
      $formulardaten = $this->formularInterpretation(&$formular);
      $formular = split('###',$formular);
      foreach ($formular as $formularteil) {
         if (!empty($formulardaten["{$formularteil}"])) {
            $this->formularFeld($formulardaten["{$formularteil}"],$sent);
         } else {
            echo $formularteil;
         }
      }
      echo '<INPUT type=submit value=senden></form>';
   }
Die Fehlermeldung von Contenido sieht auch toll aus ...bzw. ich kann damit überhaupt nix anfangen.

[20-Aug-2004 08:14:18] PHP Warning: Invalid argument supplied for foreach() in /var/www/web79/html/cms/front_content.php(563) : eval()'d code on line 422



Ich bin mir fast sicher das ich irgendwas ..vermutlich total einfach ...übersehe .... :cry:

Nur ich bekomme das seit zwei Tagen einfach nicht raus.

Hätte da vielleicht einer eine Idee oder einen Tipp ?

Danke

Verfasst: Di 24. Aug 2004, 14:59
von timbo
Habe genau dasselbe Problem,
würde mich auch über Hilfe freuen.

Danke Timbo

Verfasst: Mi 25. Aug 2004, 11:45
von timbo
Hab das Problem gelöst! :)

Und zwar ist im Output-Code in folgender Funktion:

[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]
ein Gleichheitszeichen zuviel, muss also durch folgendes ersetzt werden:

[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]

Funktioniert es bei euch allen mit dem Fehler?????
Gruß Timbo

Verfasst: Mi 25. Aug 2004, 12:08
von HerrB

Code: Alles auswählen

// PRIVATE 
function suppress() { 
$suppress = func_get_args(); 
foreach ($_POST as $key => $value) { 
if (array_search($key,$suppress) === false) $fields[$key] = $value; 
} 
return $fields; 
} 

ein Gleichheitszeichen zuviel, muss also durch folgendes ersetzt werden:

Code: Alles auswählen

// PRIVATE 
function suppress() { 
$suppress = func_get_args(); 
foreach ($_POST as $key => $value) { 
if (array_search($key,$suppress) === false) $fields[$key] = $value; 
} 
return $fields; 
} 
Ich sehe da gerade keinen Unterschied... :wink:

Gruß
HerrB

Verfasst: Mi 25. Aug 2004, 12:48
von timbo
sorry

[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
} [/code]
durch diese ersetzten

[code]// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) == false) $fields[$key] = $value;
}
return $fields;
} [/code]

Gruß Timbo

Verfasst: Mi 25. Aug 2004, 12:54
von timbo
ist aber anscheinen doch mit drei Gleichheitszeichen richtig, funktioniert damit aber bei mir nicht!

Gruß Timbo

Fehler bei Falscheingabe

Verfasst: Mo 20. Sep 2004, 09:06
von dhbujack
Hallo,

habe w3concepts.form.v1 bei mir jetzt in die Version 4.4.4 integriert und ebenfalls zeitweise ein Problem mit dem Mailversand.

Nach längerer Analyse sowohl mit IE als auch Netscape kann ich nun folgendes dazu sagen:

- Werden die Daten korrekt eingeben, funktioniert der Mailversand und die Seite mit der Bestätigung wird ausgegeben.

- Wird bei der Eingabe ein Fehler gemacht (z.B. Leerzeichen bei 'valid:simpletext'), erfolgt zwar offenbar von Seiten des Scripts eine Prüfung, aber eben keine Fehlerausgabe auf den Bildschirm und somit aber auch kein Mailversand.

- Wird 'typ:textarea' gewählt darf bei der Eingabe offenbar auch kein 'Enter' gedrückt werden, da auch dann kein Mailversand erfolgt

Bisher habe ich aber noch nicht die Zeit gefunden mich genauer damit zu beschäftigen bzw. den Scriptcode zu betrachten.
Kann mir jemand kurz die Frage beantworten, was eigentlich vorgesehen ist wenn bei der Validierung ein Fehler festgestellt wird? In der Anleitung bzw. Beschreibung von w3concepts steht hierzu nichts.

Gruß aus Berlin

Daniel